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