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