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