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