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