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