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