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