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