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