]> git.gag.com Git - fw/sdcc/blob - ChangeLog
* src/z80/main.c: link-{port} and as-{port} defined without path
[fw/sdcc] / ChangeLog
1 2003-03-31  Borut Razem <borut.razem@siol.net>
2
3         * src/z80/main.c: link-{port} and as-{port} defined without path
4         * src/src.dsp: support/Util/MySystem.h and src/SDCCutil.h added to project
5
6 2003-03-31  Bernhard Held <bernhard@bernhardheld.de>
7
8         * Makefile, src/Makefile.in: add dependencies, so that 'make -j' works
9
10 2003-03-30  Borut Razem <borut.razem@siol.net>
11
12         * support/Util/BuildCmd.c, support/Util/BuildCmd.h: rewrite buildCmdLine(),
13           changed type of list parameter to set
14         * src/ds390/main.c: changed type of parameter asmOptions to set in _tininative_do_assemble()
15         * src/port.h: changed type of do_assemble() parameter to set
16         * src/SDCCmain.c: type of asmOptions changed to set, introduced setParseWithComma(),
17           sdcpp defined without path, removed variable VersionString, introduced set binPathSet,
18           definition of "cppoutfilename" macro with NULL value in preProcess()
19         * src/SDCCglobl.h: included "SDCCset.h", added declaration of setParseWithComma()
20         * src/SDCCglue.c: removed variable VersionString, inroduced spacesToUnderscores()
21         * support/Util/MySystem.c, support/Util/MySystem.h: rewrite, char *ExePathList[]
22           replaced with set *binPathSet
23         * shash_add() deallocates the item, if allready exsists, before adding the new one
24         * src/SDCCmacro.c: handling macros with empty or NULL values in _evalMacros()
25
26 2003-03-30  Scott Dattalo  <scott@dattalo.com>
27
28         * src/pic/gen.c: Commit patch from Steve Tell <tell@telltronics.org> that fixes
29           a nested for loop bug in the PIC port
30         * src/regression/nestfor.c: new regression test file Steve wrote to test nested
31           for loops
32
33 2003-03-29  Bernhard Held <bernhard@bernhardheld.de>
34
35         * support/Util/dbuf.h: remove C++ stuff to make it portable
36
37 2003-03-28  Borut Razem <borut.razem@siol.net>
38
39         * src/SDCC.lex: Fix for bug #711240: dynamic buffer handling of C
40           literal strings in stringLiteral()
41         * support/Util/dbuf.c, support/Util/dbuf.h: added: dynamic buffer handling
42         * src/Makefile.bcc, src/Makefile.in, src\src.dsp: added support/Util/dbuf.c
43           to the project
44
45 2003-03-27  Paul Stoffregen <paul@pjrc.com>
46
47         * src/SDCCpeeph.c (pcDistance): accurate byte distance for mcs51
48
49 2003-03-26    <johan@balder>
50
51         * src/mcs51/gen.c (saveRegisters): catched symbol abuse
52         * src/ds390/gen.c (saveRegisters): catched symbol abuse
53         * src/SDCCast.c (decorateType): fixed " -v < 3"
54
55 2003-03-23  Bernhard Held <bernhard@bernhardheld.de>
56
57         * doc/cdbfile.html: removed, replaced by cdbfileformat.lyx
58         Added Lenny Story's debug infrastructure changes:
59         * src/Makefile.in:  added new files cdbFile.c and SDCCdebug.c
60         * src/Makefile.bcc: added new files cdbFile.c and SDCCdebug.c
61         * src/cdbFile.c: added
62         * src/SDCCdebug.c: added
63         * src/SDCCdebug.h: added
64         * src/SDCCast.c (createFunction)
65         * src/SDCCglue.c (emitRegularMap, emitStaticSeg, emitOverlay, glue)
66         * src/SDCCmain.c (parseCmdLine, main)
67         * src/SDCCmem.c (redoStackOffsets)
68         * src/SDCCsymt.c (cdbStructBlock, cdbTypeInfo, cdbSymbol, cdbStruct, cdbStructBlock)
69         * src/SDCCsymt.h
70         * src/common.h
71         * src/avr/gen.c (genAVRCode)
72         * src/ds390/gen.c (gen390Code)
73         * src/mcs51/gen.c (gen51Code) 
74         * src/pic/gen.c (genpic14Code)
75         * src/pic/glue.c (pic14emitRegularMap, pic14emitStaticSeg, pic14emitOverlay, picglue)
76         * src/xa51/gen.c (genXA51Code)
77         * src/SDCCast.c: fixed "void foo(void){char c; -c < 0;}"
78
79 2003-03-22  Frieder Ferlemann <Frieder.Ferlemann@web.de>
80
81         * src/mcs51/gen.c (genCodePointerGet): quicker code for bug #700797
82         * src/mcs51/peeph.def: added rules 177, 241.x to 243, touched 181, 182.x, 193.x
83
84 2003-03-22    <johan@balder>
85
86         * src/SDCCicode.c (geniCodeDerefPtr): fixed bug #698231
87
88 2003-03-21  Bernhard Held <bernhard@bernhardheld.de>
89
90         * support/scripts/sdcc_mingw32: adapted to configure from autoconf 2.54
91         * doc/cdbfileformat.lyx: added, written by Lenny Story
92         * doc/Makefile: added cdbfileformat.lyx
93         * doc/clean.mk: added cdbfileformat.lyx
94
95 2003-03-20  Bernhard Held <bernhard@bernhardheld.de>
96
97         * src/mcs51/peeph.def: fix bug #705773
98
99 2003-03-20    <johan@balder>
100
101         An sfr/sbit can have an "at #" AND an initializer
102         * src/SDCCsymt.c (checkSClass): 
103         * src/SDCCmem.c (allocGlobal): 
104         * src/SDCCmem.c (allocLocal): 
105         * src/SDCCast.c (createBlock): 
106
107 2003-03-17  Bernhard Held <bernhard@bernhardheld.de>
108
109         * src/ds390/peeph.def: fix bug #704878: added rule 213.b suggested by Jan Rejlek
110
111 2003-03-16    <johan@balder>
112
113         Undid the hackup of const and volatile, the problem is much bigger
114         * src/SDCC.y:1.65
115         * src/SDCCast.c:1.171
116         * src/SDCCglue.c:1.138
117         * src/SDCCicode.c:1.146
118         * src/SDCCsymt.c:1.150
119         * src/SDCCval.c:1.65
120
121 2003-03-15  Bernhard Held <bernhard@bernhardheld.de>
122
123         * src/mcs51/ralloc.c (packRegsForAssign): fixed bug #703541
124         * src/ds390/gen.c (genAddrOf): fixed bug #704087
125
126 2003-03-13    <johan@balder>
127
128         Hackup const and volatile modifiers in type chains a bit:
129         * src/SDCC.y:1.63
130         * src/SDCCast.c:1.169
131         * src/SDCCglue.c:1.136
132         * src/SDCCicode.c:1.143
133         * src/SDCCsymt.c1.146
134         * src/SDCCsymt.h1.59
135         * src/SDCCval.c:1.63
136
137 2003-03-12    <johan@balder>
138
139         * src/SDCCBBlock.h: more LRH debugging junk
140         * src/SDCCcflow.h: more LRH debugging junk
141         * src/SDCCloop.c: more LRH debugging junk
142         * src/SDCC.y (struct_declaration): fixed bug #697590
143         * src/SDCCsymt.[hc] (cloneSpec): NEVER EVER use this again
144         * src/ds390/gen.c (aopForRemat): fixed bug #700031
145         * src/SDCCglue.c (emitStaticSeg): fixed bug #700797
146
147 2003-03-11 Kevin Vigor <kevin@vigor.nu>
148         * src/SDCCpeeph.c: quit being lazy and made proper fix (peephole
149         test function names must now match exactly).
150         * src/SDCCcse.c: added special case in findCheaperOp to allow
151         extending a short integer. Makes less awful code for bug 700121 test case.
152
153 2003-03-11  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
154
155         * as/mcs51/lkmain.c: Added ASlink-Warning to messages 
156         * as/mcs51/lkaomf51.c: Fixed bug when linking asmblink example
157
158 2003-03-11 Kevin Vigor <kevin@vigor.nu>
159
160         * src/SDCCpeeph.c: fix so that operandsNotEqualX functions are
161         actually called (operandsNotEqual() was called for all 
162         operandsNotEqualX tests).
163
164 2003-03-11 Kevin Vigor <kevin@vigor.nu>
165
166         * src/SDCCcse.c: fix findCheaperOp to prevent replacing int types
167         with shorter literals. Fixes bug 700121.
168
169 2003-03-11    <johan@balder>
170
171         * src/SDCCsymt.c (compareType): a (void *) can be assigned to any pointer
172
173 2003-03-11  Bernhard Held <bernhard@bernhardheld.de>
174
175         * src/SDCCloop.c (mergeRegions): an evil beast is dead
176         * src/SDCCmain.c (preProcess): minor cleanup: eliminate preOutName
177
178 2003-03-10  Borut Razem <borut.razem@siol.net>
179
180         * src/SDCCmain.c: pipe preprocessor's output
181         * support/Util/MySystem.c, support/Util/MySystem.h: added my_popen()
182         * sdcc_vc_in.h: define pclose as _pclose for WIN32
183         * src/SDCCglue.c, src/SDCCglue.h: added set pipeSet, added function closePipes,
184         which closes all pipes in pipeSet set
185         * src/SDCCset.c: free deleted item in function deleteSetItem()
186         * src/src.dsp, src/z80/z80.dsp: files support/Util/BuildCmd.c and support/Util/MySystem.c
187         moved from z80 to src subproject
188         * .version: increased version number to 2.3.4
189
190 2003-03-10  Bernhard Held <bernhard@bernhardheld.de>
191
192         * support/regression/ports/mcs51/spec.mk: increase timeout for CF's sparc to 30s
193         * support/regression/ports/ds390/spec.mk: increase timeout for CF's sparc to 25s
194         * support/regression/ports/xa51/spec.mk: fix typo
195
196 2003-03-09  Bernhard Held <bernhard@bernhardheld.de>
197
198         * src/SDCCglobl.h: PATH_MAX is already defined in mingw32 headers
199
200 2003-03-09  Borut Razem <borut.razem@siol.net>
201
202         * src/SDCCmain.c: pipe preprocessor's output
203         * support/Util/MySystem.c, support/Util/MySystem.h: added my_popen()
204         * sdcc_vc_in.h: define pclose as _pclose for WIN32
205         * src/SDCCglue.c, src/SDCCglue.h: added set pipeSet, added function closePipes,
206         which closes all pipes in pipeSet set
207         * src/SDCCset.c: free deleted item in function deleteSetItem()
208         * src/src.dsp, src/z80/z80.dsp: files support/Util/BuildCmd.c and support/Util/MySystem.c
209         moved from z80 to src subproject
210
211 2003-03-09  Borut Razem <borut.razem@siol.net>
212
213         * src/SDCCglue.c: re-implemented tempfilename() and tempfile(): using mkstemp() if available
214         * src/SDCCsymt.h: fixed MSVC and BORLANDC compilation (included SDCCglobl.h instead srccconf.h)
215         * sdcc_vc_in.h: explicitly undefined HAVE_MKSTEMP which is not available on BORLANDC and MSVC
216         * src/SDCCset.h: removed inclusion of sdccconf.h or sdcc_vc.h
217         * src/SDCCglobl.h: unification of WIN32 native definitions
218
219 2003-03-09  Frieder Ferlemann <Frieder.Ferlemann@web.de>
220
221         * src/mcs51/gen.c: applied in-/dec patch mentioned on sdcc-devel 2003-03-01
222
223 2003-03-08  Bernhard Held <bernhard@bernhardheld.de>
224
225         * src/configure.in:   check for endianess (even while cross-compiling)
226         * src/configure:      check for endianess (even while cross-compiling)
227         * src/configure_in.h: check for endianess (even while cross-compiling)
228         * src/avr/gen.c:        remove old endianess stuff
229         * src/mcs51/gen.c:      remove old endianess stuff
230         * src/ds390/gen.c:      remove old endianess stuff
231         * src/pic/gen.c:        remove old endianess stuff
232         * src/pic/genarith.c:   remove old endianess stuff
233         * src/pic/glue.c:       fix endianess check
234         * src/pic16/gen.c:      remove old endianess stuff
235         * src/pic16/genarith.c: remove old endianess stuff
236         * src/pic16/glue.c:     fix endianess check
237         * src/xa51/gen.c:       remove old endianess stuff
238         * src/z80/gen.c:        fix endianess check
239         * src/SDCCglue.c:       fix endianess check
240         * src/ds390/peeph.def: fix bug 700036
241
242 2003-03-08  Bernhard Held <bernhard@bernhardheld.de>
243
244         * src/SDCCsymt.h: use appropriate data-types on host for SDCC's int and long
245         * src/configure: find appropriate data-types on host for SDCC's int and long
246         * src/configure.in: find appropriate data-types on host for SDCC's int and long
247         * src/sdccconf_in.h: find appropriate data-types on host for SDCC's int and long
248         * src/xa51/gen.c: use %d, not %ld for 4 byte variables
249
250 2003-03-07    <johan@balder>
251
252         Just a big NOOP:
253                 some minor cleanups before the big shot
254                 OP_DEFS and OP_USES now use Kevin's protection
255                 new option --nolabelopt
256
257         * src/SDCCBBlock.c:
258         * src/SDCCast.c,:
259         * src/SDCCcflow.c:
260         * src/SDCCcse.c:
261         * src/SDCCicode.c:
262         * src/SDCCicode.h:
263         * src/SDCClabel.c:
264         * src/SDCCloop.c:
265         * src/SDCCmain.c:
266         * src/ds390/ralloc.c:
267         * src/mcs51/ralloc.c:
268         * src/pic/ralloc.c:
269         * src/xa51/ralloc.c:
270         * src/z80/ralloc.c:
271
272 2003-03-06  Bernhard Held <bernhard@bernhardheld.de>
273
274         * src/pic/pcode.c (get_op): fix 64 bit warnings
275         * src/pic/pcode.c (pCode2str): fix 64 bit warnings
276         * src/SDCChasht.c (newHashTable): fix 64 bit warnings
277         * src/SDCCsymt.c (checkTypeSanity): fix 64 bit warnings
278         * support/regression/tests/malloc.c: fix 64 bit warnings
279
280 2003-03-04  Bernhard Held <bernhard@bernhardheld.de>
281
282         * src/mcs51/gen.c (genMinus): fixed bug 696436
283
284 2003-03-02  Borut Razem <borut.razem@siol.net>
285
286         * src/SDCCmain.c: added BORLANDC, corrected MSVC in printVersionInfo()
287
288 2003-02-26  Bernhard Held <bernhard@bernhardheld.de>
289
290         * configure.in: test for mkstemp
291         * sdccconf_in.h: add HAVE_MKSTEMP
292
293 2003-02-24  Bernhard Held <bernhard@bernhardheld.de>
294
295         * device/include/ctype.h: removed warning while using --stack-auto
296         * device/include/malloc.h: removed warning while using --stack-auto
297         * device/include/string.h: removed warning while using --stack-auto
298
299 2003-02-23  Borut Razem <borut.razem@siol.net>
300
301         * src/asm.h: corrected assertion in function printILine(): _pipe() was not executed on MSVC,
302         because NDEBUG is defined (see man assert)
303         * sdcc_vc_in.h: vsnprintf is defined as _vsnprintf on MSVC
304
305 2003-02-23  Frieder Ferlemann <Frieder.Ferlemann@web.de>
306
307         * src/mcs51/gen.c (genUminusFloat): avoided dptr in-/decrement for xdata variables
308         * src/mcs51/peeph.def: added rule suggested by Gernot Fink, white space/comment changes
309
310 2003-02-18  Frieder Ferlemann <Frieder.Ferlemann@web.de>
311
312         * src/SDCCpeeph.c: added peephole conditions testing for same arguments
313         * src/mcs51/peeph.def: added rules 238a-d which remove redundant moves
314
315 2003-02-18    <johan@balder>
316
317         * as/mcs51/asmain.c (asmbl): module can start with a digit
318         * as/z80/asmain.c (asmbl): module can start with a digit
319
320 2003-02-16  Bernhard Held <bernhard@bernhardheld.de>
321
322         * sim/ucsim/mkecho: inserted #!/bin/sh for Cygwin, so that it's executable
323         * src/asm.c: fix pipe() for Mingw32
324
325 2003-02-15  Bernhard Held <bernhard@bernhardheld.de>
326
327         * src/SDCCglue.h: make tmpfileNameSet available for preOutName
328         * src/SDCCmain.c (preProcess): make sure, that preOutName will be deleted;
329         make -V work again; --c1mode reads now from stdin
330         * doc/sdccman.lyx: added --c1mode
331         * support/Util/SDCCerr.c: new messages for c1 mode
332         * support/Util/SDCCerr.h: new messages for c1 mode
333         * src/SDCC.lex (checkCurrFile): test if fullSrcFileName is NULL for c1mode
334
335 2003-02-15    <johan@balder>
336
337         * src/asm.c: new options: --no-c-code-in-asm and --i-code-in-asm
338
339 2003-02-14  Bernhard Held <bernhard@bernhardheld.de>
340
341         * doc/sdccman.lyx: Environment variables, -o and other minor things
342
343 2003-02-14    <johan@balder>
344
345         * src/xa51/main.c: before anyone really tries to use it :)
346
347         * Install doc's in share/sdcc/doc
348         * removed some obsolete files
349         * Do a proper make distclean and uninstall
350         M Makefile.common.in
351         R sdccbuild.sh
352         M as/Makefile
353         M device/include/Makefile.in
354         M device/lib/Makefile.in
355         M doc/sdccman.lyx
356         M link/Makefile
357         M sim/ucsim/doc/Makefile.in
358         M src/clean.mk
359         R src/avr/peeph.rul
360         R src/xa51/peeph.rul
361         M support/cpp2/Makefile.in
362         M support/makebin/Makefile
363
364
365 2003-02-13  Bernhard Held <bernhard@bernhardheld.de>
366
367         * support/regression/ports/host/spec.mk: use cc as host compiler for max osx
368
369 2003-02-10  Borut Razem <borut.razem@siol.net>
370
371         * doc/bccinst.txt, packihx/packihx.c, sdcc_vc_in.h, src/SDCCset.h,
372         support/cpp2/config.in: Borland C++ build doesn't depend on Cygwin configure
373         * Bcc.ini, Makefile.bcc, as/mcs51/Makefile.bcc,
374         device/examples/ds390/tinitalk/Makefile.bcc, packihx/Makefile.bcc,
375         support/cpp2/Makefile.bcc, src/Makefile.bcc, src/avr/Makefile.bcc,
376         src/ds390/Makefile.bcc, src/izt/Makefile.bcc, src/mcs51/Makefile.bcc,
377         src/pic/Makefile.bcc, src/pic16/Makefile.bcc, src/xa15/Makefile.bcc,
378         src/z80/Makefile.bcc: Borland Makefile cleanup
379         * as/z80/Makefile.bcc: Added Borland Makefile
380         * support/cpp2/borland.h: Removed
381
382 2003-02-10  Bernhard Held <bernhard@bernhardheld.de>
383
384         * doc/sdccman.lyx: new pragma NOIV by "Johannes Stezenbach" <js@convergence.de>
385         * src/SDCC.lex: new pragma NOIV
386         * src/SDCCglobl.h: new pragma NOIV
387         * src/SDCCmem.c: new pragma NOIV
388
389 2003-02-09  Bernhard Held <bernhard@bernhardheld.de>
390
391         * src/SDCCmain.c: signal handling is switched off by SDCC_LEAVE_SIGNALS
392
393 2003-02-09  Bernhard Held <bernhard@bernhardheld.de>
394
395         * src/SDCCmain.c: signal handling is switched off by --debug
396         * doc/Makefile: small fix for install; use clean.mk again
397         * doc/clean.mk: clean *.pdf and *.html too
398
399 2003-02-08  Bernhard Held <bernhard@bernhardheld.de>
400
401         * device/lib/_mulint.c: small fix for large/ds390 --int-long-reent resp. --stack-auto
402         * device/lib/printfl.c: fix a ds390 bug by making it portable
403         * src/SDCCsymt.c (initCSupport): fix compile warning on Cygwin
404         * src/SDCCopt.c (cnvToFloatCast): fix compile warning on Cygwin
405         * src/SDCCopt.c (cnvFromFloatCast): fix compile warning on Cygwin
406         * debugger/mcs51/cmd.c: converted multi-line string literals
407         * sim/ucsim/globals.cc: converted multi-line string literals
408         * src/SDCCmain.c: introduced signal handler to remove temp files
409         * doc/Makefile: small tweaks, implement clean
410         * doc: removed generated files
411
412 2003-02-05  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
413
414         * as/mcs51/aslink.h, as/mcs51/lkihx.c, as/mcs51/lkrloc.c:  Applied
415         patch from Jan Rejlek <jr@apex-lib.cz> to fix Bug 677692: "Extended
416         Address Record is not correctly generated for DS390."
417
418 2003-02-02  Borut Razem <borut.razem@siol.net>
419
420         * Makefile.bcc: removed non existing cpp project and non compilable izt project from makefile
421         * as/mcs51/asm.h: fixed compilation with Borland C
422         * support/cpp2/Makefile.bcc: added rule to generate auto-host.h
423         * support/cpp2/auto-host_vc_in.h: fixed compilation with Borland C
424         * src/mcs51/mcs51a.dsp: corrected misspelled project name from msc51a to mcs51a
425         * src/avr/Makefile.bcc, src/ds390/Makefile.bcc, src/izt/Makefile.bcc,
426         src/mcs51/Makefile.bcc, src/pic16/Makefile.bcc, src/xa51/Makefile.bcc,
427         src/z80/Makefile.bcc: delete $(LIB) only if exist
428         * src/Makefile.bcc, src/pic/Makefile.bcc:  fixed compilation with Borland C
429
430 2003-02-02  Bernhard Held <bernhard@bernhardheld.de>
431
432         * device/include/malloc.h: introduced NULL
433         * device/include/string.h: introduced NULL
434         * device/include/stdlib.h: introduced NULL
435         * device/lib/_memcpy.c: removed NULL
436         * device/lib/_strcat.c: removed NULL
437         * device/lib/_strchr.c: removed NULL
438         * device/lib/_strcmp.c: removed NULL
439         * device/lib/_strcpy.c: removed NULL
440         * device/lib/_strcspn.c: removed NULL
441         * device/lib/_strlen.c: removed NULL
442         * device/lib/_strncat.c: removed NULL
443         * device/lib/_strncmp.c: removed NULL
444         * device/lib/_strncpy.c: removed NULL
445         * device/lib/_strpbrk.c: removed NULL
446         * device/lib/_strrchr.c: removed NULL
447         * device/lib/_strspn.c: removed NULL
448         * device/lib/_strstr.c: removed NULL
449         * device/lib/_strtok.c: removed NULL
450         * device/lib/malloc.c: removed NULL, include own header
451
452 2003-02-02    <johan@balder>
453
454         * src/mcs51/ralloc.c (packForPush): fixed bug #631653, maybe other ports need this too? At least now some new alerts in SDCCBBlock.c and SDCCicode.c gives an early warning
455         * support/regression/fwk/lib/testfwk.c: div and mod isn't broken anymore
456         * regressions ds390/spec.mk and mcs51/spec.mk (timeout): my good old balder isn't fast enough for some tests
457         * src/z80/gen.c (genZ80Code): added c-lines in asm comments
458         * as/z80/asm.h (NINPUT): increased for long c-comments in regression tests
459         * src/z80/gen.c (genRightShiftLiteral): fixed the (char)(-3)>>8 (I think)
460
461 2003-02-01  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
462
463         * src/SDCCmain.c: Fixed bug 678574: "ds390: ASlink-Error-Stack overlaps
464         area 'DATA'"
465
466 2003-02-01    <johan@balder>
467
468         * src/SDCCval.c (valBitwise): fixed Karl's "2 | (1<<8)"
469
470 2003-01-31    <johan@CP255758-A>
471
472         * src/ds390/main.c (_ds390_genAssemblerPreamble): applied Jan Rejlek's >64K startup patch
473
474 2003-01-30    <johan@balder>
475
476         * src/SDCCBBlock.c: automatic bug detection
477         * src/SDCCicode.c: automatic bug detection
478
479 2003-01-29  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
480
481         * src/SDCCglobl.h:   now --xram-size 0 works
482         * src/SDCCmain.c:    now --xram-size 0 works
483
484 2003-01-29    <johan@balder>
485
486         * src/almosteverything: changed OP_DEFS and OP_USES from macros to functions to catch symbol abuse (a hot topic in the bug list :)
487
488 2003-01-29  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
489
490         * as/mcs51/aslink.h: Added options --xram-size and --code-size 
491         * as/mcs51/lkdata.c: Added options --xram-size and --code-size 
492         * as/mcs51/lkmain.c: Added options --xram-size and --code-size 
493         * as/mcs51/lkmem.c:  Added options --xram-size and --code-size 
494         * src/SDCCglobl.h:   Added options --xram-size and --code-size 
495         * src/SDCCmain.c:    Added options --xram-size and --code-size 
496
497 2003-01-28  Bernhard Held <bernhard@bernhardheld.de>
498
499         * src/ds390/gen.c: fix deps by replacing <common.h> with "common.h"
500         * src/SDCC.lex: rename P_OVERLAY to P_OVERLAY_ for cross-gcc 3.2 MINGW32
501
502 2003-01-27    <johan@balder>
503
504         * src/SDCC.y: fixed bug #613764
505
506 2003-01-26    <johan@balder>
507
508         * src/SDCClrange.c:  fixed Bernhard's "char * code ptr = &c"
509         * src/SDCCsymt.h: fixed bug #673374
510         * src/SDCCglue.c: fixed bug #661910
511         * src/SDCCast.c: fixed bug #458099 and 673374
512
513 2003-01-26  Bernhard Held <bernhard@bernhardheld.de>
514
515         * as/mcs51/strcmpi.c: added, provides Aurelien Jarno's as_strcmpi(); strcmpi() is not ANSI
516         * as/mcs51/strcmpi.h: added
517         * as/mcs51/asm.h: remove ugly "#define strcmpi strcmp"
518         * as/mcs51/aslink.h: remove ugly "#define strcmpi strcmp"
519         * as/mcs51/asmain.c: strcmpi -> as_strcmpi
520         * as/mcs51/assym.c: strcmpi -> as_strcmpi
521         * as/mcs51/lkmem.c: strcmpi -> as_strcmpi
522         * as/mcs51/lknoice.c: strcmpi -> as_strcmpi
523         * as/mcs51/lksym.c: strcmpi -> as_strcmpi
524         * as/mcs51/Makefile.aslink: new module strcmpi
525         * as/mcs51/Makefile.asx8051: new module strcmpi
526         * as/mcs51/Makefil.bcc: new module strcmpi
527         * as/mcs51/Makefile.in: new module strcmpi
528         * sim/ucsim/s51.src/uc390.cc (get_mem_size): make RAM big enough for tinibios
529
530 2003-01-26    <johan@balder>
531
532         * src/SDCCglue.c: reverted back to 1.124
533         * src/SDCCast.c: reverted back to 1.156
534         * src/mcs51/gen.c (aopGet): applied Frieder's efficiency patch
535
536 2003-01-25    <johan@balder>
537
538         * src/SDCCglue.c: A better fix for bug #661910
539         * src/SDCCast.c: A better fix for bug #661910
540         * src/SDCCglue.c (emitRegularMap): That was a little too efficient
541
542 2003-01-24  Bernhard Held <bernhard@bernhardheld.de>
543
544         * src/Makefile.in: remove spawn.o
545         * src/SDCCmain.c: remove spawn.h
546         * src/SDCCmain.c (printVersionInfo): report MINGW32 instead of UNIX
547         * src/spawn.c: removed
548         * src/spawn.h: removed
549         * support/regression/ports/ds390/spec.mk: link with -r
550
551 2003-01-24    <johan@CP255758-A>
552
553         * src/ds390/gen.c (aopOp): fixed bug #667458
554         * src/SDCCglue.c (emitRegularMap): fixed bug #458099 again
555         * src/SDCCast.c (createIvalCharPtr): fixed bug #661910
556         (createIvalCharPtr): an ival doesn't always have a storage class anymore
557
558 2003-01-24  Bernhard Held <bernhard@bernhardheld.de>
559
560         * src/mcs51/peeph.def: better assembler identation by Frieder
561         * src/mcs51/gen.c: better assembler identation by Frieder
562
563 2003-01-22  Bernhard Held <bernhard@bernhardheld.de>
564
565         * as/z80/string.h: removed for gcc 3.2
566         * support/makebin/makebin.c: #include <string.h> for gcc 3.2
567         * src/pic/pcode.c (get_op_from_instruction): fix concatenation of string literals with __FUNCTION__ for gcc 3.2
568
569 2003-01-19  Bernhard Held <bernhard@bernhardheld.de>
570
571         * src/SDCCmain.c (linkEdit): rename mem and map files even in case of failure
572         * src/SDCCpeeph.c (replaceRule): fix bug #663503
573         * support/regression/Makefile: separate temp files for ports
574         * support/regression/generate-cases.py: separate temp files for ports
575         * src/mcs51/peeph.def: Frieder: removed 237 (obsolete by 236g and 105); added 237 a/b
576         * src/ds390/peeph.def: Frieder: removed 237 (obsolete by 236g and 105); added 237 a/b
577
578 2003-01-19  Bernhard Held <bernhard@bernhardheld.de>
579
580         * moved tinitalk to device/examples/ds390
581
582 2003-01-14  Bernhard Held <bernhard@bernhardheld.de>
583
584         * as/mcs51/lkmem.c: rflag is for DS390
585         * src/SDCCglobl.h: removed out_name and options stackOnData, genericPtr
586         * src/SDCCmain.c (optionsTable, setDefaultOptions): removed --stack-after-data and --generic
587                          (linkEdit): move mem- and map-files the same way as ihx-files
588         * src/z80/main.c (_setDefaultOptions): removed --generic
589         * src/SDCCmain.c (_processC1Arg, parseCmdLine, main): --c1mode works again
590         * src/SDCCglue.c (createInterruptVect, glue): --c1mode works again
591         * src/pic/glue.c (picglue): --c1mode works again
592         * src/pic16/glue.c (pic16glue): --c1mode works again
593         * src/asm.c (printCLine): fix #660034
594
595 2003-01-13  Bernhard Held <bernhard@bernhardheld.de>
596
597         * src/ds390/peeph.def: fix #123; add 14 rules by Fiorenzo D. Ramaglia <fd.ramaglia@tin.it>, 1 by Frieder
598         * src/mcs51/peeph.def: fix #123; add 14 rules by Fiorenzo, 1 by Frieder
599         * src/mcs51/gen.c (genFunction): emit r0 instead of ar0 by Fiorenzo
600         * as/mcs51/lkmem (summary): better fix for sp problem
601         * src/SDCCglue.c (glue): __start_stack - 1, saves 1 byte!
602         * src/ds390/main.c (_ds390_finaliseOptions, _tininative_finaliseOptions): stack_loc = 0x400008
603         * support/regression/ports/*/spec.mk: moving testfwk-object to port dir allow parallel execution of regression tests
604                                               remove --stack-after-data
605
606 2003-01-12  Bernhard Held <bernhard@bernhardheld.de>
607
608         * src/SDCCmain.c (main): port->finaliseOptions() moved for z80 linking
609         * src/SDCCutil.c (join): ugly bug: missing '\0'
610         * as/mcs51/lkmem.c (summary): sp on address 7 is safe
611
612 2003-01-11  Bernhard Held <bernhard@bernhardheld.de>
613
614         * src/SDCCmain.c (assemble, linkEdit): preparations for -o
615         * src/port.h: typo
616         * src/pic/main.c (_asmCmd): gpasm supports -o
617         * src/z80/main.c: more general macros
618         * device/lib/Makefile.in: remove intermediate files
619
620 2003-01-11  Bernhard Held <bernhard@bernhardheld.de>
621
622         * .version: Bumped version number to 2.3.3
623         * src/SDCCBBlock.c: new option -o
624         * src/SDCCglobl.h: new option -o
625         * src/SDCCglue.c: new option -o
626         * src/SDCCmain.c: new option -o
627         * src/asm.c: new option -o
628         * src/ds390/main.c: new option -o
629         * src/pic/glue.c: new option -o
630         * src/pic/pcode.c: new option -o
631         * src/pic/ralloc.c: new option -o
632         * src/pic16/glue.c: new option -o
633         * src/pic16/pcode.c: new option -o
634         * src/pic16/ralloc.c: new option -o
635         * src/z80/main.c: new option -o
636         * device/lib/Makefile.in: use -o
637         * support/regression/ports/ds390/spec.mk: use -o
638         * support/regression/ports/gbz80/spec.mk: use -o
639         * support/regression/ports/mcs51/spec.mk: use -o
640         * support/regression/ports/mcs51-stack-auto/spec.mk: use -o
641         * support/regression/ports/z80/spec.mk: use -o
642         * support/regression/ports/ucz80/spec.mk: use -o
643         * support/regression/ports/xa51/spec.mk: use -o
644         * support/regression/fwk/lib/timeout.c: fix usage string
645
646 2003-01-09  Bernhard Held <bernhard@bernhardheld.de>
647         * src/mcs51/gen.c (genPlus): replaced "mov b,acc" by "mov b,a" Fiorenzo D. Ramaglia <fd.ramaglia@tin.it>
648         
649 2003-01-07    <johan@balder>
650
651         * src/SDCCast.c (decorateType): fixed bug #600035
652
653 2003-01-07  Bernhard Held <bernhard@bernhardheld.de>
654         * as/mcs51/lkmem.c: added several l-modifiers to printf to remove warnings
655         * as/mcs51/lkaomf51.c: #include <ctype.h> to remove warnings
656         * src/pic/main.c (_hasNativeMulFor): outcommented unused variables to remove warnings
657         * src/pic/pcode.c: outcommented unused variable to remove warnings
658         * src/pic/ralloc.c: outcommented unused variable to remove warnings
659
660 2003-01-06    <karl@turbobit.com>
661         * sim/ucsim/cmd.src/command.cc: fixed so "break xram r 0x7654" works again in
662    regression tests.
663
664 2003-01-06    <johan@balder>
665
666         * src/SDCCicode.c: fixed array add
667
668 2002-01-05  Bernhard Held <bernhard@bernhardheld.de>
669         * src/SDCCmacro.c: MAX_STRING_LENGTH increased to 2048; was too small for regression tests
670         * support/regression/ports/host/support.c: #include <stdarg.h> for gcc 3.2
671
672 2003-01-04    <johan@balder>
673
674         * src/SDCCval.c (getNelements): fixed the initialized array of structures
675
676 2002-12-29  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
677         * as/mcs51/Makefile.bcc: fixed typo lkomf51.o -> lkaomf51.o
678
679 2002-12-28  Bernhard Held <bernhard@bernhardheld.de>
680         * src/mcs51/peeph.def: added rules 234 and 235 from Frieder Ferlemann <frieder.ferlemann@web.de>
681         * support/regression/tests/bug-524697.c: fit mem usage into 8032
682
683 2002-12-28  Bernhard Held <bernhard@bernhardheld.de>
684         * src/mcs51/gen.c (aopGetUsesAcc): inserted missing "return FALSE"
685
686 2002-12-27  Bernhard Held <bernhard@bernhardheld.de>
687         * as/mcs51/Makefile.in: fixed typo lkomf51.o -> lkaomf51.o
688
689 2002-12-26  Bernhard Held <bernhard@bernhardheld.de>
690         * src/mcs51/main.c: removed {bindir}{sep} from aslink
691
692 2002-12-10  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
693
694     * in \sdcc\as\mcs51\ changed these files in order to create an
695     aomf51 file: aslink.h, lkdta.c, lklex.c, lklibr.c, lklist.c,
696     lkmain.c.  Also added: lkmem.c and lkaomf51.c.  Changed the 
697     following files to include the previous two files: aslink.dsp,
698     Makefile.aslink, Makefile.bcc, and Makefile.in.
699
700     * Changed \sdcc\src\SDCCmain.c so it creates files with extension
701     .adb instead of .cdb
702     
703 2002-11-09  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
704
705         * \sdcc\as\mcs51\lklist.c: Now reports memory usage using the
706         value from option --iram-size.
707
708 2002-09-20  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
709
710         * \sdcc\as\mcs51\lklist.c: added boundary check before using
711         dram[] array.
712
713 2002-09-18    <wiml@hhhh.org>
714
715         * SDCClrange.h: exposed setFromRange() and setToRange()
716         * mcs51/ralloc.c: fixed over-eager packRegsForSupport() and
717           packRegsForAccUse() (bug 542397)
718         * mcs51/gen.c: MOVA() is now a function to avoid calling aopGet()
719           multiple times and emitting the fetch operations more than once
720           added aopGetUsesAcc() function to allow binary operators to
721           fetch their operands in the correct order; made genMinus() emit
722           compact code for X = LITERAL - Y 
723
724 2002-09-00  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
725         * \sdcc\as\mcs51\lklist.c: Fixed incorrect number of parameters to
726         sprintf() in line 1267.
727
728 2002-09-08  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
729         * \sdcc\src\SDCCglue.c: Generate areas REG_BANK_[0-3] only for 8051
730         like ports.
731
732 2002-09-04  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
733         Changes to aslink (All the changes are marked with 'JCF'):
734
735         * \sdcc\as\mcs51\aslink.h: External definition of sflag and
736         summary().
737
738         * \sdcc\as\mcs51\lkarea.c: Computes the size of area BSEG_BYTES from
739         area BSEG.  Also moves, if possible, the DATA area down into the internal
740         ram so more space is available.
741
742         * \sdcc\as\mcs51\lkdata.c: Definition of memory summary output flag
743         sflag.
744
745         * \sdcc\as\mcs51\lklist.c: For the BSEG area report the size in bits,
746         not bytes.  Function summary() which creates a memory usage summary
747         file with extension .mem.  Reports of overlaping stack and small stack
748         size.  If the space for the stack is less than 16 bytes aslink trows a
749         warning.
750         
751         * \sdcc\as\mcs51\lkmain.c: Creation of some of the default areas for
752         the 8051.  Option 'y' for memory summary output file.
753
754         Changes to sdcc (All the changes are marked with 'JCF'):
755
756         * \sdcc\src\SDCCglobl.h: External definition of RegBankUsed[4].
757
758         * \sdcc\src\SDCCglue.c:  If a register bank is used, creates an
759         overlaying area for it (uses RegBankUsed[4]).
760
761         * \sdcc\src\SDCCmain.c: Definition RegBankUsed[4]; marks register
762         bank zero as used by default.  By default aslink locates the stack
763         (equivalent to --stack-after-data).  Pass option 'y' to aslink for
764         the creation of the .mem file.  Delegates the allocation of data area
765         to aslink (it is not longer 0x30 by default).  If --stack-loc passes
766         the begining of the stack area to aslink.
767
768         * \sdcc\src\SDCCmem.c:  If a register bank is used, marks it so
769         glue() in SDCCglue.c creates an area for it.
770         
771 2002-09-03  Borut Razem <borut.razem@siol.net>
772         * sdcc/src/SDCCglue.c, sdcc/src/SDCCglue.h, sdcc/src/SDCCmain.c,
773         sdcc/src/pic/glue.c:
774         introduced atexit() handler for teporay files removal in case of
775         errors, assertions, ...
776
777 2002-08-29  Borut Razem <borut.razem@siol.net>
778         * sdcc/support/cpp2/auto-host_vc_in.h:
779         re-definition of O_BINARY and other O_XXX as _O_BINARY and _O_XXX, so the problem
780         with the returned value from read() in sdcc/support/cpp2/cppfiles.c is solved for MSC.
781         Maybe there is a similar problem with BORLANDC? It should be checked!
782
783         * sdcc/src/ds390/ralloc.c, sdcc/src/mcs51/ralloc.c, sdcc/src/z80/ralloc.c:
784         corrected improper use of assert: the assignment to clr variable was done inside the assert.
785         In case that NDEBUG was defined, the assert macro was substituted with no-op, so the assignment
786         was not executed, and the compiler (cl) launched a warning:
787         ralloc.c(1442) : warning C4700: local variable 'clr' used without having been initialized
788
789 2002-08-28  Bernhard Held <bernhard@bernhardheld.de>
790         * src/SDCCglue.c (printIvalArray): iterative calculation of array length
791
792 2002-08-28  Jesus Calvino-Fraga and Borut Razem <borut.razem@siol.net>
793         * sdcc/sdcc.dsw: added sdcpp, sdcppa, yacc, conf projects
794
795         * sdcc/src/src.dsp, sdcc/src/avr/avr.dsp, sdcc/src/ds390/ds390.dsp,
796           sdcc/src/mcs51/mcs51.dsp, sdcc/src/pic/pic.dsp, sdcc/src/z80/z80.dsp,
797           sdcc/src/xa51/xa51.dsp, sdcc/src/avr/avra.dsp,
798           sdcc/src/ds390/ds390a.dsp, sdcc/src/mcs51/mcs51a.dsp,
799           sdcc/src/pic/pica.dsp, sdcc/src/z80/z80a.dsp,
800           sdcc/src/xa51/xa51a.dsp, sdcc/as/as_z80.dsp,
801           sdcc/as/aslink.dsp, sdcc/as/asx8051.dsp, sdcc/packihx/packihx.dsp:
802         - added Release configuration in VS projects
803         - review of compiler an linker options
804         - VC .exe files are generated in bin_vc directory, not to interfere
805           with binaries generated from other projects (cygwin, mingw, bcc ...)
806
807         * sdcc/src/yacc.dsp: added
808
809         * sdcc/config.dsp, sdcc/configure_vc.awk, sdcc/sdcc_vc_in.h:
810         added - genarate sdcc_vc.h using sdcc_vc_in.h as template
811         and insert the version number definitions from .version 
812
813         * sdcc/support/cpp2/sdcpp.dsp: added - VC project for sdcpp
814
815         * sdcc/support/cpp2/sdcppa.dsp, sdcc/support/cpp2/auto-host_vc_in.h:
816         added - genarate auto-host.h using auto-host_vc_in.h as template
817
818         * sdcc/sdcc_vc.h,
819         removed from CVS, generated automatically
820
821 2002-08-25  Bernhard Held <bernhard@bernhardheld.de>
822         * support/scripts/inc2h.pl: use gputils or gpasm (from Nathan Hurst)
823
824 2002-08-11  Borut Razem <borut.razem@siol.net>
825         * support/Util/NewAlloc.c: removed unneeded #include "sdccconf.h" (suggested by Jesus Calvino-Fraga)
826
827 2002-08-10  Borut Razem <borut.razem@siol.net>
828         * src/SDCCmain.c (main):
829         file preOutName was unlinked before closed. This seems to be OK on UNIX and cygwin
830         platforms, but it doesn't work with Visual Studio: the opened file can not be removed.
831         The consequence was that some temporary files were not removed.
832
833         * src/SDCCglue.c:
834         unification of code in functions tempfilename() and tempfile():
835         function tempnam() is defined in Visual Studio 6.0 and .NET
836
837         * sdcc/sdcc.dsw: removed project sdcpp, added project xa51a
838
839         * sdcc/src/src.dsp, sdcc/src/avr/avr.dsp, sdcc/src/ds390/ds390.dsp,
840           sdcc/src/mcs51/mcs51.dsp, sdcc/src/pic/pic.dsp, sdcc/src/z80/z80.dsp:
841         - removed compiler command line option /WX: Treats all warnings as errors
842         - update a list of source files, included into the project
843
844         * sdcc/src/avr/avra.dsp, sdcc/src/ds390/ds390a.dsp, sdcc/src/mcs51/mcs51a.dsp,
845           sdcc/src/pic/pica.dsp, sdcc/src/z80/z80a.dsp:
846         changed project type to Generic Project so that can be correcly converted to VS.NET project
847
848         * sdcc/as/mcs51/asm.h: definition of PATH_MAX for MSC
849
850         * sdcc/src/SDCCast.c: solved MSC error in function decorateType()
851
852         * sdcc/src/SDCC.y: added missing ending ';' to rules to get rid of bison warnings
853
854         * dcc/src/ds390/ralloc.c, sdcc/src/mcs51/ralloc.c:
855         added return 0 statements after assert() to make compiler happy
856
857         * sdcc/src/xa51/peeph.rul, sdcc/src/xa51/peeph.def, sdcc/src/z80/ralloc.c:
858         added newline in the def file to keep MSC compiler satisfied
859
860         * sdcc/src/z80/gen.c:
861         - function strcasecmp() is not defined in MSC (and probably also in BORLANDC),
862           so it is replaced with STRCASECMP, which is defined as stricmp in case of MSC and BORLANDC
863         - solved MSC error in function aopDump()
864
865         * sdcc_vc.h: define PREFIX as "\\sdcc"
866
867 2002-07-18  Bernhard Held <bernhard@bernhardheld.de>
868         * src/SDCCast.c (decorateType): fixed access to array of structures http://sourceforge.net/mailarchive/forum.php?thread_id=902690&forum_id=4107
869
870 2002-06-22  Scott Dattalo <scott@dattalo.com>
871         * src/pic/*: Numerous bug fixes. Flow analysis has been enhanced. 
872         - Rewrote the register banking algorithm. 
873         - Added pCode live-range analysis to registers (for now, only non-used and 
874         singly-used registers optimized away)
875
876         * src/pic/pcoderegs.[ch]: Added new files for pCode live-range analysis
877
878         * support/scripts/inc2h.pl Kevin L. Pauba <klpauba@cox.net> submitted this perl script for converting MicroChip include files into SDCC Pic include files.
879         
880 2002-05-10  Scott Dattalo <scott@dattalo.com>
881         * src/pic/*: Added support for multiplication. Fixed many,many bugs.
882         
883 2002-04-22  Michael Hope  <michaelh@vroom>
884
885         * device/lib/z80/printf.c: Changed emitter to volatile to work around a pcall bug.
886
887         * configure.in (DD_COPT): Added include support required for gbdk.
888
889         * .version: Bumped version number just to increase it.
890
891         * src/SDCCmain.c: Added -nostdinc to the default options.
892
893 2002-04-15  Michael Hope  <michaelh@vroom>
894
895         * device/lib/z80/printf.c (sprintf): Added.
896
897         * src/z80/ralloc.c (packRegisters): Disabled pack HL use for GB as it's broken.
898
899         * src/z80/peeph.def: Added transpose redundent load rule.
900
901         * src/z80/main.c: Added force callee saves for jaune.
902
903         * src/port.h: Removed the i186 and tlcs-900h ports as they weren't being being developed.
904
905         * src/SDCCmain.c: Pulled the options definition out so that you can add port specific options without changing the main file.
906
907 2002-03-28  Johan Knol  <johan@balder>
908
909         * src/SDCCval.c: fixed bug #532436
910
911 2002-03-14  Scott Dattalo <scott@dattalo.com>
912         * /src/port.h:
913         Added "char *Processor" field to the port structure.
914
915         * /src/SDCCmain.c:
916         Added -p option. Allows port dependent processor to be specified.
917
918         * all ports:
919         Initialized the new field char *Processor field to NULL in all ports
920
921         * /src/pic/*:
922         Compiler generated registers for interrupt context saving
923         were not getting allocated.
924                 
925 2002-03-16  Sandeep Dutta  <sandeep@ddi.com>
926
927         * /src/SDCCast.c:
928         Fixed left shift. Will promote the left side of a left shift
929         if a) left shifting more than size of operand or b) when assigned
930         to something size > size of left side
931
932 2002-03-14  Scott Dattalo <scott@dattalo.com>
933         * src/pic/*
934         tons of changes. Register allocation has been 
935         rewritten. Added customization for the various PICs. Flow
936         analysis is restructured. ...
937
938         * src/pic/device.h:
939         Added
940
941         * src/pic/device.c:
942         Added. device.c is a PIC port hack to accomodate variations
943         in PIC devices.
944
945 2002-03-13  Michael Hope  <michaelh@vroom>
946
947         * src/z80/gen.c (genGenPointerGet): Fixed a bug where a pointer in HL is dereferenced into HL but HL is not spilled.  Yeah.
948
949 2002-03-04  johanknol  <johanknol@manik>
950
951         * /src/SDCCval.c: fixed
952
953         const unsigned char arr[][2] = { { 0, 1 } };
954         t18.c:1: error: Initializer element is not constant
955
956 2002-03-04  bela  <bela@manik>
957
958         * /device/include/mcs51reg.h:
959         ds89c420 register definition update
960
961 2002-03-03    <johan@FRIJA>
962
963         * support/Util/SDCCerr.c: did something, but don't no why anymore
964
965         * support/regression/tests/bug-524691.c: made it a little less shy 
966
967         * src/SDCCast.c (decorateType): fixed bug #524697
968
969         * src/SDCCast.c: made some lineno improvements
970
971         * src/SDCCval.c (getNelements): changed warning to error
972
973         * src/SDCCglue.c (printIvalArray): changed warning to error
974
975         * src/SDCCicode.c: fixed a warning for mingw
976
977         * src/SDCCast.c (decorateType): fixed the << promotion for ops
978
979         * src/SDCCicode.c (geniCodeDivision): divide is shift only for unsigned (bug #524685)
980
981 2002-03-02  Sandeep Dutta  <sandeep@ddi.com>
982
983         * src/ds390/peeph.def:
984         Added some more peephole rules
985
986         * src/ds390/gen.c: Various fixes & enhancements
987
988         * src/SDCClrange.c, src/SDCClrange.h:
989         functions "alldefsoutofrange" and "notusedinblock" moved to SDCClrange.c
990
991         * src/ds390/ralloc.c:
992         various fixes & enhancements (ds390) specific
993
994         * src/avr/ralloc.c, src/mcs51/ralloc.c, src/pic/ralloc.c, src/xa51/ralloc.c, src/z80/ralloc.c:
995         Functions "allDefsOutOfRange" & "notUsedinBlock" moved to SDCClrange.c
996         from rallocs.
997
998         * sdcc/src/SDCCcse.c: Better fix for bug # 514308
999
1000 2002-03-02    <johan@FRIJA>
1001
1002         * src/SDCCast.c (decorateType): fixed bug #524708
1003
1004         * src/SDCCval.c (floatFromVal): fixed the literal void (whatever that may be)
1005
1006         * src/SDCCicode.c (geniCodePtrPtrSubtract): fixed bug #524691
1007
1008 2002-03-01  Michael Hope  <michaelh@vroom>
1009
1010         * src/SDCCsymt.c (initCSupport): Removed managling of support function names.
1011
1012         * src/z80/ralloc.c (packRegsForIYUse): Fixed fp bug where four byte operands were packed into IY.
1013
1014 2002-03-01    <johan@FRIJA>
1015
1016         * src/SDCCglue.c (printIvalPtr): fixed bug #524211
1017
1018         * src/SDCCast.c (decorateType): fixed bug #524209
1019
1020         * src/SDCCval.c (valNot): fixed bug #524195
1021
1022 2002-02-26    <johan@balder>
1023
1024         * src/xa51/gen.c: fixed a warning
1025
1026         * src/SDCCglue.c (printIvalFuncPtr): fixed bug #522534
1027
1028         * src/SDCCast.c (decorateType): fixed bug #522534
1029
1030 2002-02-23    <johan@balder>
1031
1032         * src/SDCCdflow.c (computeDataFlow): fixed bug #460088
1033
1034 2002-02-22    <johan@balder>
1035
1036         * src/SDCCast.c: fixed bug #514865
1037
1038         * src/SDCCy.c ("SDCC.y"): fixed bug #516625
1039
1040 2002-02-21  Sandeep Dutta  <sandeep@ddi.com>
1041
1042         * sdcc/src/SDCCloop.c:
1043         Previous fix was not good. basic blocks that have "break" or "return" are
1044         not really partof a loop , but live ranges used in these blocks should
1045         be live thru the entire loop, so set partOfLoop but don't add them to
1046         loop region
1047
1048 2002-02-21    <johan@FRIJA>
1049
1050         * src/SDCCcse.c: fixed bug #514308
1051
1052 2002-02-20  Sandeep Dutta  <sandeep@ddi.com>
1053
1054         * src/SDCCloop.c:
1055         Fixed BUG #519583. If a conditional block ended in a return/break
1056         statement inside a loop, it was not being considered part of the loop.
1057
1058         * src/SDCCcflow.c: Removed fix (Fixed in SDCCloop.c)
1059
1060 2002-02-10  Karl Bongers <karl@turbobit.com>
1061
1062         * debugger/*:
1063         Fixed up SDCDB debugger somewhat.  Updated debugger/README
1064         with lots of comments and notes.
1065
1066         * device/examples/test2.c:
1067         Fix bug, "red" variable not being initialized(compiler complained).
1068
1069         * device/examples/Makefile, examples/test3.c:
1070         Add Makefile in device/examples folder, compiles test3.c
1071         for use as a multiple module SDCDB test case.
1072
1073         * sim/ucsim/cmd.src/cmdset.cc:
1074         Took out debug printfs in ucsim "next" command.
1075
1076         * sim/ucsim/xa.src:
1077         Karl and Johan start ucsim XA support.  Most dissassembly working,
1078         about 75% emulation done(plenty of work remaining).
1079
1080         * sim/ucsim/z80.src:
1081         Add Z80 support to ucsim, add test-ucz80 regression test,
1082         notice ucsim/z80 emulation fails on examples/test3.c/itoa code.
1083         Notice z80 compiler fails on examples/test3.c/crc code.
1084
1085 2002-01-30  Sandeep Dutta  <sandeep@ddi.com>
1086
1087         * src/mcs51/gen.c, src/mcs51/main.c, src/mcs51/ralloc.c:
1088         Added support for --parms-in-bank1
1089
1090         * src/ds390/peeph.def:
1091         added a few more peephole optimzations
1092
1093         * src/ds390/main.c:
1094         1) added __builtin_inp & __builtin_outp used to read in data of given length
1095            from a memory mapped port
1096         2) added __builtin_memcmp
1097         3) added __builtin_swapw swap bytes of a short
1098
1099         * src/ds390/gen.c, src/ds390/gen.h, src/ds390/ralloc.c:
1100         1) handle multiple send & receives from register bank1
1101         2) ralloc can now allocate DPTR1 to some liveRanges
1102
1103         * src/SDCCsymt.c, src/SDCCsymt.h:
1104         changes to handle multiple sends & receives
1105
1106         * src/SDCCptropt.h:
1107         added some pointer arithmetic optimization
1108
1109         * src/SDCCptropt.c:
1110         added some pointer arithmetic optimizations but not stable yet so not
1111         called from anywhere (will get this working shortly)
1112
1113         * src/SDCCopt.c: fixed for multiple sends & receives
1114
1115         * src/SDCCmain.c:
1116         1) added options --parms-in-bank1 (ds390/mcs51) & --protect-sp-update
1117         2) preprocessing done AFTER port->finalizeoptions . This allows ports to
1118            set preprocessor defines (depending on options)
1119
1120         * src/SDCCicode.c, src/SDCCicode.h:
1121         changes made to handle multiple sends & receives
1122
1123         * src/SDCCglobl.h:
1124         Added options --protect-sp-update (ds390) and --parms-in-bank1 (ds390/mcs51)
1125
1126         * src/SDCCcse.c, src/SDCCcse.h:
1127         added function findbackward def (to be used in upcoming optimization)
1128
1129         * src/SDCCcflow.c, src/SDCCcflow.h:
1130         added function returnAtEnd - to determine if a basic block terminates with
1131         a RETURN iCode
1132
1133         * src/SDCCast.c, src/SDCCast.h:
1134         added option parms-in-bank1
1135
1136         * device/lib/_divsint.c, device/lib/_divslong.c, device/lib/_divuint.c 
1137         * device/lib/_divulong.c, device/lib/_modsint.c, device/lib/_modslong.c 
1138         * device/lib/_modulong.c, device/lib/_mulint.c, device/lib/_mullong.c:
1139         adjusted for --parms-in-bank1 option
1140
1141         * device/include/string.h:
1142         donot redefine "reentrant" keyword
1143
1144         * device/include/ds80c390.h: Added some more SFRs
1145
1146 2002-01-28  Bernhard Held  <bernhard@bernhardheld.de>
1147
1148         * sim/ucsim: Merged branch ucsim-034-pre3 to main trunk; new version 0.4 
1149
1150 2002-01-26  Bernhard Held  <bernhard@bernhardheld.de>
1151
1152         * src/SDCCast.c (funcOfType): fix usage of double --float-reent
1153
1154 2002-01-22  Bernhard Held  <bernhard@bernhardheld.de>
1155
1156         * support/regression/fwk/lib/testfwk.c (main): Removed workaround for bug #505387
1157
1158 2002-01-18  Paul Stoffregen  <paul@pjrc.com>
1159
1160         * Added --xram-movc option
1161
1162 2002-01-13  Bernhard Held  <bernhard@bernhardheld.de>
1163
1164         * support/regression/Makefile: don't include test-mcs51-stack-auto in target all
1165
1166 2002-01-11  Johan Knol
1167
1168         * Added math lib of Jesus Calvino-Fraga
1169
1170 2002-01-08  Bernhard Held  <bernhard@bernhardheld.de>
1171
1172         * src/SDCCmain.c (processFile): fix processing of ../../src.c
1173         * support/regression/Makefile: new target test-mcs51-stack-auto
1174         * support/regression/ports/mcs51-stack-auto/spec.mk: added
1175
1176 2002-01-04  Bernhard Held  <bernhard@bernhardheld.de>
1177
1178         * src/SDCCglue.h: printIvalCharPtr(), not printIvalChar()
1179
1180 2002-01-04  Bernhard Held  <bernhard@bernhardheld.de>
1181
1182         * support/regression/ports/mcs51/support.c: correct setup of timer / UART
1183
1184 2002-01-03  Bernhard Held  <bernhard@bernhardheld.de>
1185
1186         * src/SDCCsymt.c (processFuncArgs): fix #498307 by Johan
1187
1188         * src/SDCCglue.h: add definition for printIvalChar()
1189
1190 2002-01-02  Bernhard Held  <bernhard@bernhardheld.de>
1191
1192         * src/SDCCast.c: fix #498138 by Johan
1193
1194         * src/SDCCglue.c: fix #498138 by Johan
1195
1196 2002-01-02  Bernhard Held  <bernhard@bernhardheld.de>
1197
1198         * support/regression/Makefile: fix clean
1199
1200         * support/regression/ports/ds390/support.c: fix transmission of last character
1201
1202 2001-12-29  Sandeep Dutta  <sandeep@ddi.com>
1203
1204         * /sdcc/src/ds390/gen.c:
1205         a) improved computing address of stack variable
1206         b) took out some #if 0 code
1207         c) improved parmBytes adjustment
1208         d) improved genPlusIncr & genMinusIncr
1209         e) genCmp could generate bad code (when left assigned to DPTR)
1210         f) Fixed bug in hasInc
1211
1212         * /sdcc/src/ds390/ralloc.c:
1213         a) packRegsForSupport could mess up live information (Fixed)
1214         b) packRegsDPTRuse could be incorrect for left & right shift
1215
1216         * /sdcc/src/mcs51/ralloc.c:
1217         packRegsForSupport could mess up the live information (Fixed)
1218
1219         * /sdcc/src/mcs51/gen.c: Fixed a bug in hasInc
1220
1221         * /sdcc/src/SDCCast.c:
1222         can reverse a loop even if function call is present as long
1223         as the loop control variable is local & is not passed as parameter
1224
1225 2001-12-24  Sandeep Dutta  <sandeep@ddi.com>
1226
1227         * /sdcc/ChangeLog: *** empty log message ***
1228
1229         * /sdcc/src/ds390/gen.c, /sdcc/src/ds390/main.c:
1230         More builtin function additions for TININative
1231
1232         * /sdcc/src/ds390/ralloc.c:
1233         Had broken the regression testsuite
1234
1235         * /sdcc/src/SDCCast.c: Fixed a bug in dumptree
1236
1237         * /sdcc/src/SDCCsymt.c, /sdcc/src/SDCCsymt.h:
1238         Added funcattr hasStackParms will be set for reentrant functions when there
1239         are paramteres on the stack, this helps in minimizing frame pointer generation
1240         typeFromStr can handle function pointers now
1241
1242         * /sdcc/doc/builtins.txt, /sdcc/doc/TININative.txt:
1243         *** empty log message ***
1244
1245 2001-12-24  Sandeep Dutta  <sandeep@ddi.com>
1246
1247         * /src/ds390/gen.c, /src/ds390/main.c:
1248         More builtin function additions for TININative
1249
1250         * /src/ds390/ralloc.c:
1251         Had broken the regression testsuite
1252
1253         * /src/SDCCast.c: Fixed a bug in dumptree
1254
1255         * /src/SDCCsymt.c, /src/SDCCsymt.h:
1256         Added funcattr hasStackParms will be set for reentrant functions when there
1257         are paramteres on the stack, this helps in minimizing frame pointer generation
1258         typeFromStr can handle function pointers now
1259
1260         * /doc/builtins.txt, /doc/TININative.txt:
1261         *** empty log message ***
1262
1263
1264 2001-12-24  Sandeep Dutta  <sandeep@ddi.com>
1265
1266         * /src/ds390/gen.c, /src/ds390/main.c, /src/ds390/peeph.def, /src/ds390/ralloc.c:
1267         ALPHA version for -mTININative
1268
1269         * /src/izt/i186.c, /src/izt/tlcs900h.c, /src/mcs51/main.c, /src/pic/main.c, /src/z80/main.c, /src/avr/main.c:
1270         updated to reflect changes in the port structure
1271
1272         * /src/port.h:
1273         added function do_assemble (similar to do_link) if non-null this function
1274         will be called to do assembly (-mTININative) requires a multi command
1275         assembly
1276         added function genAssemblerEnd will be called to generate assembler Epilogue
1277
1278         * /src/SDCCsymt.c:
1279         added _JavaNative to debug info printing
1280
1281         * /src/SDCCmain.c: added option --tini-libid
1282         added port->do_assemble function (-mTININative) has a multi command assemble
1283
1284         * /src/SDCCglue.c: Disabled "constExpr" check
1285         added port->genAssemblerEnd function
1286
1287         * /src/SDCCglobl.h: Added option --tini-libid value
1288
1289         * /src/SDCCast.h:
1290         tookout optimizeCompare from the header (has no external references)
1291
1292         * /src/SDCCast.c: made one more function "static"
1293
1294 2001-12-23  Michael Hope  <michaelh@juju.net.nz>
1295
1296         * src/z80/mappings.i: Added z80asm support.
1297
1298         * src/z80/main.c: Added z80asm support on --asm=z80asm
1299
1300         * src/z80/gen.c: Fixed asm portability issues.
1301
1302         * src/asm.c (tvsprintf): Removed old code, added 'N' for function name.  For extern support.
1303
1304         * src/SDCCglue.c (printExterns): Added global/extern split.
1305
1306 2001-12-17  Bernhard Held  <bernhard@bernhardheld.de>
1307
1308         * support/regression/Makefile: added test for mcs51 model large
1309
1310         * support/regression/ports/mcs51-large/spec.mk: added test for mcs51 model large
1311
1312         * support/regression/ports/gbz80/spec.mk: added -mgbz80
1313
1314 2001-12-05  Michael Hope  <michaelh@juju.net.nz>
1315
1316         * src/diff.1 (Index): Many, many optmisiations.  Dhrystone up to 201.
1317
1318 1904-01-06  Michael Hope  <michaelh@juju.net.nz>
1319
1320         * src/z80/ralloc.c (packRegsForIYUse): Fixed the case where an operand is in direct space.
1321
1322         * src/z80/gen.c (makeFreePairId): Optimised IY load by using a spare pair.
1323
1324 2001-12-02  Bernhard Held  <bernhard@bernhardheld.de>
1325
1326         * src/mcs51/gen.c (genFunction): avoid excess "inc sp"
1327
1328         * support/regression/tests/simplefloat.c: Port to mcs51.
1329
1330 2001-11-25  Michael Hope  <michaelh@juju.net.nz>
1331         * support/regression/tests/bug-485362.c: Added.
1332
1333         * support/regression/tests/simplefloat.c (testDivNearOne): Added.
1334
1335         * src/z80/gen.c (aopOp): Fixed case where left and result are in the same spill loc and they have different sizes.
1336
1337         * src/z80/peeph.def: Added rules for optimising two byte compares on the same thing, and to optimise two ptr assign.
1338
1339         * src/z80/gen.c (aopDump): Added a dump function.
1340
1341 2001-11-25  Bernhard Held  <bernhard@bernhardheld.de>
1342         * sim/ucsim/s51.src/glob.cc: DS390 SFRs and bits added.
1343
1344         * sim/ucsim/s51.src/port.cc: Port 4 and 5 added.
1345
1346         * sim/ucsim/s51.src/regs51.h: DS390 SFRs added.
1347
1348         * sim/ucsim/s51.src/uc390.cc: Some details improved, CKRDY works for tinibios.
1349
1350         * sim/ucsim/s51.src/uc390cl.h: Work in progress.
1351
1352         * sim/ucsim/sim.src/uccl.h: 6 ports for DS390.
1353
1354         * support/regression/fwk/lib/testfwk.c: Run with tinibios.
1355
1356         * support/regression/ports/mcs51/spec.mk: Fine tuninig.
1357
1358         * support/regression/ports/ds390/support.c: Use tinibios.
1359
1360         * support/regression/ports/ds390/spec.mk: Fine tuning, use tinibios.
1361
1362 2001-11-23  Michael Hope  <michaelh@juju.net.nz>support/regression/tests/bug-460010.c
1363
1364         * src/z80/ralloc.c (packRegsForHLUse3): Changed to not pack into HL if anything is in direct space.
1365         (packRegsForHLUse3): Added packing support for send, cast, and return value from a call.
1366
1367         * src/z80/peeph.def: Added rules for optimising pushes of part of a pair.
1368
1369         * src/z80/gen.c (emitCall): Changed the stack fixup to not use HL.
1370
1371 2001-11-18  Michael Hope  <michaelh@juju.net.nz>
1372
1373         * src/z80/gen.c (genCmp): Fixed compare on unsigned.
1374
1375         * src/z80/ralloc.c (packRegsForHLUse3): Created and optimised.
1376         (packRegsForIYUse): Created and optimised.
1377
1378 2001-11-07  Michael Hope  <michaelh@juju.net.nz>
1379
1380         * support/regression/tests/float.c (testFloatAdd): Fixed up warning.
1381 2001-11-18  Bernhard Held  <bernhard@bernhardheld.de>
1382
1383         * sdcc/support/regression/tests/bug-460010.c: fix seg violation on host
1384
1385         * sdcc/support/regression/tests/muldiv.c: fix output on mcs51
1386
1387         * sdcc/support/regression/tests/stacks.c: fix DSEG overflow on mcs51
1388
1389 2001-11-07  Bernhard Held  <bernhard@bernhardheld.de>
1390
1391         * sdcc/sim/device/lib/_gptrget.c: mem region 5 (idata) added
1392
1393         * sdcc/sim/device/lib/_gptrput.c: mem region 5 (idata) added
1394
1395 2001-11-07  Bernhard Held  <bernhard@bernhardheld.de>
1396
1397         * sdcc/sim/ucsim/globals.cc: New: IXRAM.
1398
1399         * sdcc/sim/ucsim/stypes.h: New: IXRAM.
1400
1401         * sdcc/sim/ucsim/s51.src/uc390.cc: New: IXRAM.
1402
1403 2001-11-07  Michael Hope  <michaelh@juju.net.nz>
1404
1405         * src/z80/ralloc.c (packRegsForHLUse): Banned IFXs from being packed into HL.
1406         (packRegsForHLUse): Added rule to pack address of/pointer get for itemps into HL for the Z80.
1407         (packRegsForAccUse2): Added rule to pack hbit IFXs into A.
1408
1409         * src/z80/main.c (_setDefaultOptions): Made float code re-entrant by default.
1410
1411         * src/z80/gen.c (aopGetLitWordLong): Added word support for floats.
1412         (genNotFloat): Added.
1413         (genUminusFloat): Added.
1414
1415         * device/lib/z80/Makefile: Added floating pt stubs.
1416
1417         * device/lib/Makefile.in (Z80SOURCES): Added floating pt support.
1418
1419         * src/z80/gen.c (genIpush): Fixed up a push of one byte when left is in a pair.
1420
1421         * device/lib/_fsadd.c (__fsadd): Fixed up return where the numbers are hugely different.
1422
1423 2001-11-07  Bernhard Held  <bernhard@bernhardheld.de>
1424
1425         * sdcc/sim/ucsim/s51.src/glob.cc: Minor fix.
1426
1427         * sdcc/sim/ucsim/s51.src/regs51.h: Minor fix.
1428
1429         * sdcc/support/regression/Makefile: Add port ds390.
1430
1431         * sdcc/support/regression/ports/mcs51/spec.mk: Minor change.
1432
1433         * sdcc/support/regression/ports/z80/spec.mk: Minor change.
1434
1435         * sdcc/support/regression/ports/ds390/spec.mk: Added.
1436
1437         * sdcc/support/regression/ports/ds390/support.c: Added.
1438
1439         * sdcc/support/regression/ports/ds390/uCsim.cmd: Added.
1440
1441         * sdcc/support/regression/ports/mcs51/timeout.c: Cut.
1442
1443         * sdcc/support/regression/fwk/lib/timeout.c: Paste.
1444
1445 2001-11-04  Michael Hope  <michaelh@juju.net.nz>
1446
1447         * device/include/malloc.h: Added z80 and gbz80 support.
1448
1449         * device/lib/gbz80/heap.s: Added.
1450
1451         * device/lib/z80/heap.s: Added.
1452
1453         * device/lib/malloc.c: Added z80 and gbz80 support.
1454
1455         * support/regression/tests/malloc.c (testMalloc): Added.
1456
1457         * src/SDCCmain.c (parseCmdLine): Added support for -Wp.
1458
1459         * support/regression/tests/bug-478094.c: Added.
1460
1461         * src/z80/gen.c (commitPair): Fixed silly gbz80/z80 commit to static bug.
1462
1463 2001-11-04  Bernhard Held  <bernhard@bernhardheld.de>
1464
1465         * sdcc/sim/ucsim/s51.src/uc390cl.h: Improvement for ds390 to run regression tests
1466
1467         * sdcc/sim/ucsim/s51.src/uc390.h: Improvement for ds390 to run regression tests
1468
1469         * sdcc/sim/ucsim/s51.src/regs51.h: Improvement for ds390 to run regression tests
1470
1471         * sdcc/sim/ucsim/s51.src/glob.cc: Improvement for ds390 to run regression tests
1472
1473         * sdcc/support/regression/tests/bug-460010.c: Small change for ds390
1474
1475 2001-11-04  Michael Hope  <michaelh@juju.net.nz>
1476
1477         * src/z80/peeph-gbz80.def: Removed a bad sub optimisation.
1478
1479 2001-11-03  Michael Hope  <michaelh@juju.net.nz>
1480
1481         * support/regression/tests/bug-477927.c: Added.
1482
1483         * src/z80/peeph.def: Added minor rules.
1484
1485         * src/z80/gen.c (genPlusIncr): Added an extra plusinc rule.
1486
1487         * src/z80/peeph.def: Added jump optimisation modification.
1488
1489 2001-11-01  Michael Hope  <michaelh@juju.net.nz>
1490
1491         * src/SDCCmain.c (linkEdit): Added runtime path detection to the mcs51 port.
1492
1493 2001-10-30  Michael Hope  <michaelh@juju.net.nz>
1494
1495         * support/regression/tests/funptrs.c: Added.
1496
1497 2001-10-29  Michael Hope  <michaelh@juju.net.nz>
1498
1499         * src/z80/ralloc.c (packRegsForHLUse): Fixed up bad spill due to pushing one byte via HL.
1500
1501 2001-10-28  Michael Hope  <michaelh@juju.net.nz>
1502
1503         * src/z80/gen.c (genArrayInit): Made it work for on stack arrays.
1504
1505         * src/z80/main.c (gbz80_port =): Added rle support to the gbz80 port.
1506
1507         * src/z80/gen.c (genMinus): Fixed for where the result is one byte.
1508         (movLeft2ResultLong): Created.
1509
1510         * src/z80/ralloc.c (packRegsForHLUse): Added a couple of simple cases for the GB.
1511         (joinPushes): Added.  Joins two char pushes into a word push.
1512
1513 2001-10-27  Michael Hope  <michaelh@juju.net.nz>
1514
1515         * support/cpp2/Makefile.in (install): Added creation of dest dir.
1516
1517         * support/makebin/Makefile (install): Added creation of dest dir.
1518
1519 2001-10-24 Karl Bongers <karl@turbobit.com>
1520
1521         * configure.in, configure, Makefile, support/cpp: Removed cpp folder, since we have new cpp2 preprocessor code.
1522
1523 2001-10-21  Michael Hope  <michaelh@juju.net.nz>
1524
1525         * src/z80/ralloc.c: Turned off faulty pack for one use.
1526
1527         * src/z80/peeph-gbz80.def: Removed redundent restart options.
1528
1529         * src/z80/gen.c (genMult): Added native mul for constants on the z80 and gbz80.
1530
1531 2001-10-21  Bernhard Held  <bernhard@bernhardheld.de>
1532
1533         * support/regression/Makefile: Improved clean
1534
1535         * support/regression/ports/gbz80/spec.mk: Added clean
1536
1537         * support/regression/ports/host/spec.mk: Added clean
1538
1539         * support/regression/ports/z80/spec.mk: Added clean
1540
1541         * support/regression/ports/mcs51/spec.mk: Added clean, little improvements
1542
1543         * support/regression/ports/mcs51/timeout.c: little improvements
1544
1545 2001-10-17  Michael Hope  <michaelh@juju.net.nz>
1546
1547         * device/lib/malloc.c (MEMHEADER): Fixed against new pedantic pointers.
1548
1549         * support/regression/fwk/include/testfwk.h: Fixed up to use function pts correctly.
1550
1551         * support/regression/generate-cases.py: Fixed up to use function pts correctly.
1552
1553 2001-10-16  Bernhard Held  <bernhard@bernhardheld.de>
1554
1555         * support/regression/port/mcs51/spec.mk: add timeout for uCsim
1556
1557         * support/regression/port/mcs51/timeout.c: add timeout for uCsim
1558
1559 2001-10-13  Michael Hope  <michaelh@juju.net.nz>
1560         * src/z80/gen.c (emitCall): Fixed up missing spill of HL when used to assign the result value.
1561
1562         * src/z80/ralloc.c: Turned off pack for one use as it's quite broken.
1563
1564         * src/SDCCmain.c (linkEdit): Added support for passing a legacy command line through the processor.
1565
1566         * src/mcs51/main.c (_linkCmd): Added bin path to command.
1567
1568         * src/SDCCmain.c (initValues): Added support for when it it called just to link.
1569
1570         * as/mcs51/lklibr.c (libfil;): Turned off 'library file' message.
1571
1572         * src/SDCCval.c (constVal): Fixed usage of 'L' modifier problems on ppc.
1573
1574         * support/regression/tests/longor.c: Added.
1575
1576 2001-10-11  Bernhard Held  <bernhard@bernhardheld.de>
1577
1578         * as/mcs51/asdata.c: replaced FILENAME_MAX with PATH_MAX
1579
1580         * as/mcs51/aslink.h: define PATH_MAX
1581
1582         * as/mcs51/asm.h: define PATH_MAX
1583
1584         * as/mcs51/asmain.c: replaced FILENAME_MAX with PATH_MAX
1585
1586         * as/mcs51/asnoice.c: replaced FILENAME_MAX with PATH_MAX
1587
1588         * as/mcs51/lklex.c: replaced FILENAME_MAX with PATH_MAX
1589
1590         * as/mcs51/lkmain.c: replaced FILENAME_MAX with PATH_MAX
1591
1592         * src/SDCCglobl.h: define PATH_MAX
1593
1594         * src/SDCCmacro.c: replaced FILENAME_MAX with PATH_MAX
1595
1596         * src/SDCCmain.c: replaced FILENAME_MAX with PATH_MAX
1597
1598 2001-10-11  Michael Hope  <michaelh@juju.net.nz>
1599
1600         * src/z80/gen.c (gencjneshort): Fixed
1601
1602         * src/z80/ralloc.c (packRegsForHLUse): Added pack into HL for cast then ipush.
1603
1604 2001-10-09  Michael Hope  <michaelh@juju.net.nz>
1605
1606         * support/regression/tests/bug-469671.c: Added.
1607
1608         * src/z80/gen.c (shiftIntoPair): Fixed up warning.
1609
1610 2001-10-08  Michael Hope  <michaelh@juju.net.nz>
1611
1612         * src/SDCCmain.c: Added --fommit-frame-pointer option and implemented in the z80 port.
1613
1614         * src/z80/gen.c (genPlus): Fixed to work with extended stack.  Also fixed genMinus, genCmp.  genUMinus is still left.
1615
1616 2001-10-08  Bernhar Held  <bernhard@bernhardheld.de>
1617
1618         * src/SDCCmain.c (preProcess): added define SDCC_NOOVERLAY
1619
1620         * src/device/lib/_mulint.c  : removed hint: nooverlay bug
1621
1622         * src/device/lib/_mullong.c : removed hint: nooverlay bug
1623
1624         * src/device/lib/_divuint.c : removed hint: nooverlay bug
1625
1626         * src/device/lib/_divulong.c: removed hint: nooverlay bug
1627
1628         * src/device/lib/_moduint.c : removed hint: nooverlay bug
1629
1630         * src/device/lib/_modulong.c: removed hint: nooverlay bug
1631
1632 2001-10-07  Michael Hope  <michaelh@juju.net.nz>
1633
1634         * src/z80/gen.c (setupPair): Added 'extended stack' support for the z80.  Can now have local variables or parameters of more than 127 bytes in size.  Increadibly slow, but it will work.  Currently anything involving the carry flag.
1635
1636         * support/Util/NewAlloc.c (freeTrace): Changed free for the gc case to not free at all.  Fixes runtime segfault.
1637
1638         * support/regression/tests/scott-compare3.c (c_abcd): Fixed up casts.
1639
1640 2001-10-07    <johan@FRIJA>
1641
1642         * device/lib/gets.c (gets): fixed the return value.
1643
1644 2001-10-06  Michael Hope  <michaelh@juju.net.nz>
1645         * src/SDCCmain.c (WRITE_SEG_LOC): Fixed up to use Safe_strdup.
1646
1647         * src/SDCCpeeph.c (peepHole): Fixed all leaks.  Added trace support for freeing lines.  Optimised restart logic to re-run instead of restart.  Now compiles dscan.c on ~60MB instead of ~200MB.
1648
1649         * support/Util/NewAlloc.c: Added ability to use libgc instead of malloc.  Added Safe_free and Safe_strdup.  Added trace support where you can log allocations and free all at once.
1650
1651         * src/z80/gen.c (genZ80Code): Added de-allocation via trace support.
1652
1653         * src/pic/gen.c: Removed Safe_strdup.
1654
1655         * configure.in: Added option to enable libgc support.
1656
1657         * src/SDCCbitv.c (bitVectnBitsOn): Optimised.
1658         (bitVectUnion): Optimised.
1659         (bitVectIntersect): Optimised.
1660         (bitVectBitsInCommon): Optimised.
1661         (bitVectCplAnd): Optimised.
1662
1663         * support/makebin/makebin.c (usage): Removed getopt as mingw32 doesn't have it.  Sigh.
1664
1665 2001-10-03 Bernhard Held <bernhard@bernhardheld.de>
1666
1667         * src/SDCCmain.c: distinguish between assembler debug and plain options
1668
1669         * src/avr/main.c:   remove standard assembler options
1670
1671         * src/ds390/main.c: remove standard assembler options
1672
1673         * src/mcs51/main.c: remove standard assembler options
1674
1675         * src/port.h: removed "PENDING" comment
1676
1677 2001-10-03 Bernhard Held <bernhard@bernhardheld.de>
1678
1679         * src/device/lib/_mulint.c  : new, with assember functions
1680
1681         * src/device/lib/_mullong.c : new, with assember functions
1682
1683         * src/device/lib/_divuint.c : with assember functions
1684
1685         * src/device/lib/_divsint.c : with assember functions
1686
1687         * src/device/lib/_divulong.c: with assember functions
1688
1689         * src/device/lib/_divslong.c: with assember functions
1690
1691         * src/device/lib/_moduint.c : with assember functions
1692
1693         * src/device/lib/_modsint.c : with assember functions
1694
1695         * src/device/lib/_modulong.c: with assember functions
1696
1697         * src/device/lib/_modslong.c: with assember functions
1698
1699         * src/device/lib/libint.lib:  replaced _muluint.c  and _mulsint.c  by _mulint.c
1700
1701         * src/device/lib/liblong.lib: replaced _mululong.c and _mulslong.c by _mullong.c
1702
1703         * src/device/lib/Makefile.in: replaced _muluint.c  and _mulsint.c  by _mulint.c
1704                                       replaced _mululong.c and _mulslong.c by _mullong.c
1705
1706 2001-10-03 Bernhard Held <bernhard@bernhardheld.de>
1707
1708         * src/SDCCsymt.c: sequence of specifiers in pintTypeChain() corrected
1709
1710 2001-10-01 Bernhard Held <bernhard@bernhardheld.de>
1711
1712         * src/SDCCglue.c: test, if win32api is available for MINGW
1713
1714 2001-10-01 Bernhard Held <bernhard@bernhardheld.de>
1715
1716         * src/SDCCsymt.c: no more _modifier in printTypeChain()
1717         * support/regression/tests/driverstruct.c: REENTRANT for mcs51
1718         * support/regression/ports/gbz80/spec.mk: removed GENERIC
1719         * support/regression/ports/host/spec.mk: removed GENERIC
1720         * support/regression/ports/mcs51/spec.mk: removed GENERIC
1721         * support/regression/ports/z80/spec.mk: removed GENERIC
1722
1723 2001-10-01  Michael Hope  <michaelh@juju.net.nz>
1724
1725         * support/regression/fwk/lib/testfwk.c (__printf): Removed GENERIC.
1726
1727         * support/regression/tests/bug-467035.c: Created.
1728
1729 2001-10-01    <johan@FRIJA>
1730
1731         * src/SDCC.y: fixed bug #466586 part 1
1732
1733 2001-10-01  Johan Knol <johan.knol@iduna.nl>
1734
1735         * SDCCicode.c: z80 has no generic pointers
1736         * removed -s from strip in all Makefile(.in)'s. It is not needed, but Solaris chocks on it.
1737         
1738 2001-09-30  Michael Hope  <michaelh@juju.net.nz>
1739
1740         * sim/ucsim/cmd.src/Makefile.in ($(PRJDIR)/libcmd.a): Changed all ar references to $(AR) for Solaris.
1741
1742 2001-09-29  Michael Hope  <michaelh@juju.net.nz>
1743
1744         * Makefile (sdcc-libs): Added makebin to the list of standard targets.
1745
1746         * support/regression/ports/z80/spec.mk: Updated to use env for sdcc bin dir for automatic regression.
1747
1748 2001-09-25  Michael Hope  <michaelh@juju.net.nz>
1749
1750         * configure.in: Fixed up so that ucsim is only configured once.
1751
1752         * support/cpp2/configure.in: Fixed to use the program transform to append the .exe for the win32 build.
1753
1754         * src/SDCCutil.c (getPrefixFromBinPath): Fixed up to work with win32 in all of its glory.
1755         (getPathDifference): As above.
1756
1757         * src/SDCCmain.c (preProcess): Changed to use a temporary file in a proper temp directory.  Fixed case where pre-processing only.
1758
1759         * src/SDCCglue.c (tempfilename): Added function for pre-processor.
1760
1761 2001-09-23  Michael Hope  <michaelh@juju.net.nz>
1762         * .version: Updated to 2.3.1
1763
1764         * src/z80/main.c (z80_port =): Added macro based linker and assembler command line support.
1765         Added copyright header.
1766
1767         * src/SDCCmain.c: Shifted various functions into SDCCutil.c
1768         (assemble): Added support for macro based assembler commands.
1769         (linkEdit): Added support for macro based linker commands.
1770         (preProcess): Changed the pre-processor to use macros.
1771         (_setPaths): Added functionality to autodetect the include, lib and bin dir paths.
1772         (_discoverPaths): Added support for overriding the install directory using the SDCCDIR env variable.
1773
1774         * device/lib/z80/crt0.s: Added module name for debugging.
1775
1776 2001-09-20  Michael Hope  <michaelh@juju.net.nz>
1777
1778         * src/SDCCmain.c (printVersionInfo): Added the build date to the version info.
1779
1780         * src/SDCChasht.c (hTabDeleteByKey): Fixed delete as it would delete the last item from a bucket even if it wasn't the real one.
1781
1782         * src/SDCCglue.c: Moved gc_strdup to SDCCutil.c
1783
1784         * src/Makefile.in: Added SDCCmacro and SDCCutil
1785
1786 2001-09-19  Michael Hope  <michaelh@juju.net.nz>
1787
1788         * src/SDCCmain.c (printVersionInfo): Added the build date to the version info.
1789
1790 2001-09-16    <johan@FRIJA>
1791
1792         * support/Util/SDCCerr.c: fixed up the error/warning/info database. I only changed the E_ W_ I_ prefix to what SDCCerr.c says it is.
1793
1794 2001-09-15    <johan@FRIJA>
1795
1796         * src/mcs51/ralloc.c: (findAssignToSym): fixed bug #460662 part 1
1797         * src/ds390/ralloc.c (findAssignToSym): fixed bug #460662 part 1
1798
1799 2001-09-11    <johan@FRIJA>
1800
1801         * src/SDCCval.c (valDiv Mod Minus Plus Shift): keep litteral expressions as small as possible (bug #460010)
1802
1803 2001-09-10  Michael Hope  <michaelh@juju.net.nz>
1804
1805         * support/regression/tests/bug-460444.c: Added test case.
1806
1807         * src/z80/gen.c (genOr): bug 460444: if (a ^ lit) was broken for &, |, and ^.
1808         (genCast): Added justification for all of the asserts.
1809
1810 2001-09-10  Bernhard Held <bernhard@bernhardheld.de>
1811
1812         * support/regression/support.c: _xdata replaced by xdata
1813
1814         * support/regression/spec.mk: removed _generic
1815
1816 2001-09-09  Michael Hope  <michaelh@juju.net.nz>
1817
1818         * src/pic/ralloc.c (debugLogRegType): Removed some old types to get it to compile.
1819
1820         * src/z80/gen.c (shiftR2Left2Result): Improved the case when v = v >> n for small values of n to use less code space and time.
1821         (genrshTwo): Fixed v = v >> n where v is a negative int and n is > 8: bug 460010.
1822
1823         * src/z80/peeph.def: Added a rule to optimise shift then compare.
1824
1825         * support/regression/tests/bug-460000.c (testShiftByParam): Added test case.
1826
1827         * support/regression/tests/bug-460010.c: Added test case.
1828
1829         * support/regression/Makefile (test-host): Removed a silly 'clean' target when testing against gcc.
1830
1831 2001-09-09  Bernhard Held <bernhard@bernhardheld.de>
1832
1833         * support/regression/Makefile: inter-port-clean adjusted for mcs51
1834
1835         * support/regression/testfwk.c: removed workaround for bug #436344
1836
1837         * support/regression/tests/bp.c: use less memory with mcs51
1838
1839         * support/regression/tests/bug-441448.c: use less memory
1840
1841         * support/regression/tests/ports/mcs51/spec.mk: cleanup, use --stack-after-data
1842
1843         * support/regression/collate-results.py: typo
1844
1845 2001-09-08  Michael Hope  <michaelh@juju.net.nz>
1846
1847         * support/regression/tests/fetchoverlap.c: Added new test case.
1848
1849         * support/regression/tests/bp.c: Added new test case.
1850
1851         * support/regression/tests/bug-448984.c: Added new test case.
1852
1853         * support/regression/tests/pow2shifts.c: Added new test case.
1854
1855         * src/z80/gen.c: Turned off the noise it normally generates for the release.
1856         (genlshTwo): Fixed right shift for count > 8.
1857
1858         * src/z80/ralloc.c: Disabled most of the ACC packing rules as they weren't getting hit and weren't at all safe.
1859
1860 2001-09-08    <johan@FRIJA>
1861
1862         * src/SDCCicode.c (geniCodeCall): a CPOINTER can be used as a function
1863
1864 2001-09-07    <johan@FRIJA>
1865
1866         * src/SDCCicode.c (newiCodeCondition): fixed bug #456235 (1.77)
1867
1868         * src/SDCCglue.c (emitRegularMap): only delete a symbol when it is a symbol
1869
1870 2001-09-06    <johan@FRIJA>
1871
1872         * src/SDCC.y: this could be a fix for bug #458744 (1.37)
1873         * bernhard noted me at this: "() equals to (void)" (1.38)
1874
1875 2001-09-05    <johan@FRIJA>
1876
1877         * src/SDCCglue.c (emitRegularMap): a fix for bug #458099/2
1878
1879 2001-09-04    <johan@FRIJA>
1880
1881         * src/SDCCsymt.c (checkSClass): a fix for bug #458099/1
1882
1883
1884 2001-09-04  Paul Stoffregen  <paul@pjrc.com>
1885
1886         * pragma noinduction broke memcpy on mcs51 large model.  Moved it inside z80 optimization
1887
1888 2001-09-03  Michael Hope  <michaelh@juju.net.nz>
1889
1890         * link/z80/aslink.h: Fixed path for PATH_MAX
1891
1892 2001-09-02  Michael Hope  <michaelh@juju.net.nz>
1893
1894         * src/z80/gen.c (fetchLitPair): Changed so that it properly caches direct space references.
1895
1896         * support/regression/tests/addsub.c: Added cases to cover all the +, - combinations.
1897
1898         * support/regression/tests/uminus.c: Added a test for the unary minus operator.
1899
1900         * src/z80/gen.c (genUminus): Fixed add, sub, and uminus on the gbz80 port for longs.  Had to shift some functions about to do it.
1901
1902 2001-09-01  Michael Hope  <michaelh@juju.net.nz>
1903
1904         * src/z80/gen.c: Fixed up generator to pass the regresion tests, specifically fixing loads for longs, genCmp, and turned on the map file.
1905         (genCmp): Fixed up genCmp for the GB with longs.
1906
1907         * device/lib/gbz80/Makefile: Fixed up all the libraries to pass the regression tests.
1908
1909         * support/regression/ports/host/spec.mk: Updated to compile with the new type specifiers.
1910
1911         * device/lib/Makefile.in (Z80SOURCES): Removed old _mululong, _mulslong, and unneeded _mulint.
1912
1913         * device/lib/_mullong.c (_mulslong): Changed to actually return a value :)
1914
1915 2001-08-30  Paul Stoffregen  <paul@pjrc.com>
1916
1917         * added peepholes 223 to 231 to mcs51 port.  These improve code when using large model.
1918
1919 2001-08-30  Michael Hope  <michaelh@juju.net.nz>
1920
1921         * device/lib/gbz80/crt0.s (init): Fixed up support for the gbz80 such that it will at least run (and fail badly) the regression tests.
1922
1923         * src/z80/gen.c (genPlus): Changed bad long add for gb to a fall through.
1924
1925 2001-08-29  Michael Hope  <michaelh@juju.net.nz>
1926
1927         * link/z80/aslink.h: Fixed long file name support.  Is now based off PATH_MAX instead of a constant.
1928
1929         * src/z80/gen.c: Fixed add and sub for the case where left or right are in static space.
1930
1931 2001-08-30 Bernhard Held   <bernhard@bernhardheld.de>
1932
1933   * sim/ucsim/configure:    little improvement of Cygwin-detection      
1934   * sim/ucsim/configure.in: little improvement of Cygwin-detection      
1935   * sim/ucsim/cmd.src/newcmdcl.h: include <sys/types.h> to define fd_set automated build
1936   * support/regression/tests/bug-221100.c: small changes for mcs51
1937   * support/regression/tests/bug-221168.c: small changes for mcs51
1938   * support/regression/tests/bug-227710.c: small changes for mcs51
1939   * support/regression/tests/staticinit.c: small changes for mcs51
1940   * as/mcs51/aslink.h: accept everything as symbol name in rel-files, bug fix ID 452601
1941   * as/mcs51/lklex.c:  accept everything as symbol name in rel-files, bug fix ID 452601
1942   * as/mcs51/lksym.c:  accept everything as symbol name in rel-files, bug fix ID 452601