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