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