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