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