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