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