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