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