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