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