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