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