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