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