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