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