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