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