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