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