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