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