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