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