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