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