* device/lib/z80/printf.c: Changed emitter to volatile to work
[fw/sdcc] / ChangeLog
index 93b5e5342fba6b3baef53086a00459a108d99b35..a88814c72f3b25612a98ca4bbfb24797a0ac1d1c 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,270 @@
+2002-04-22  Michael Hope  <michaelh@vroom>
+
+       * device/lib/z80/printf.c: Changed emitter to volatile to work around a pcall bug.
+
+       * configure.in (DD_COPT): Added include support required for gbdk.
+
+       * .version: Bumped version number just to increase it.
+
+       * src/SDCCmain.c: Added -nostdinc to the default options.
+
+2002-04-15  Michael Hope  <michaelh@vroom>
+
+       * device/lib/z80/printf.c (sprintf): Added.
+
+       * src/z80/ralloc.c (packRegisters): Disabled pack HL use for GB as it's broken.
+
+       * src/z80/peeph.def: Added transpose redundent load rule.
+
+       * src/z80/main.c: Added force callee saves for jaune.
+
+       * src/port.h: Removed the i186 and tlcs-900h ports as they weren't being being developed.
+
+       * src/SDCCmain.c: Pulled the options definition out so that you can add port specific options without changing the main file.
+
+2002-03-28  Johan Knol  <johan@balder>
+
+       * src/SDCCval.c: fixed bug #532436
+
+2002-03-14  Scott Dattalo <scott@dattalo.com>
+       * /src/port.h:
+       Added "char *Processor" field to the port structure.
+
+       * /src/SDCCmain.c:
+       Added -p option. Allows port dependent processor to be specified.
+
+       * all ports:
+       Initialized the new field char *Processor field to NULL in all ports
+
+       * /src/pic/*:
+       Compiler generated registers for interrupt context saving
+       were not getting allocated.
+               
+2002-03-16  Sandeep Dutta  <sandeep@ddi.com>
+
+       * /src/SDCCast.c:
+       Fixed left shift. Will promote the left side of a left shift
+       if a) left shifting more than size of operand or b) when assigned
+       to something size > size of left side
+
+2002-03-14  Scott Dattalo <scott@dattalo.com>
+       * src/pic/*
+       tons of changes. Register allocation has been 
+       rewritten. Added customization for the various PICs. Flow
+       analysis is restructured. ...
+
+       * src/pic/device.h:
+       Added
+
+       * src/pic/device.c:
+       Added. device.c is a PIC port hack to accomodate variations
+       in PIC devices.
+
+2002-03-13  Michael Hope  <michaelh@vroom>
+
+       * src/z80/gen.c (genGenPointerGet): Fixed a bug where a pointer in HL is dereferenced into HL but HL is not spilled.  Yeah.
+
+2002-03-04  johanknol  <johanknol@manik>
+
+       * /src/SDCCval.c: fixed
+
+       const unsigned char arr[][2] = { { 0, 1 } };
+       t18.c:1: error: Initializer element is not constant
+
+2002-03-04  bela  <bela@manik>
+
+       * /device/include/mcs51reg.h:
+       ds89c420 register definition update
+
+2002-03-03    <johan@FRIJA>
+
+       * support/Util/SDCCerr.c: did something, but don't no why anymore
+
+       * support/regression/tests/bug-524691.c: made it a little less shy 
+
+       * src/SDCCast.c (decorateType): fixed bug #524697 
+
+       * src/SDCCast.c: made some lineno improvements
+
+       * src/SDCCval.c (getNelements): changed warning to error
+
+       * src/SDCCglue.c (printIvalArray): changed warning to error
+
+       * src/SDCCicode.c: fixed a warning for mingw
+
+       * src/SDCCast.c (decorateType): fixed the << promotion for ops
+
+       * src/SDCCicode.c (geniCodeDivision): divide is shift only for unsigned (bug #524685)
+
+2002-03-02  Sandeep Dutta  <sandeep@ddi.com>
+
+       * src/ds390/peeph.def:
+       Added some more peephole rules
+
+       * src/ds390/gen.c: Various fixes & enhancements
+
+       * src/SDCClrange.c, src/SDCClrange.h:
+       functions "alldefsoutofrange" and "notusedinblock" moved to SDCClrange.c
+
+       * src/ds390/ralloc.c:
+       various fixes & enhancements (ds390) specific
+
+       * src/avr/ralloc.c, src/mcs51/ralloc.c, src/pic/ralloc.c, src/xa51/ralloc.c, src/z80/ralloc.c:
+       Functions "allDefsOutOfRange" & "notUsedinBlock" moved to SDCClrange.c
+       from rallocs.
+
+       * sdcc/src/SDCCcse.c: Better fix for bug # 514308
+
+2002-03-02    <johan@FRIJA>
+
+       * src/SDCCast.c (decorateType): fixed bug #524708
+
+       * src/SDCCval.c (floatFromVal): fixed the literal void (whatever that may be)
+
+       * src/SDCCicode.c (geniCodePtrPtrSubtract): fixed bug #524691
+
+2002-03-01  Michael Hope  <michaelh@vroom>
+
+       * src/SDCCsymt.c (initCSupport): Removed managling of support function names.
+
+       * src/z80/ralloc.c (packRegsForIYUse): Fixed fp bug where four byte operands were packed into IY.
+
+2002-03-01    <johan@FRIJA>
+
+       * src/SDCCglue.c (printIvalPtr): fixed bug #524211
+
+       * src/SDCCast.c (decorateType): fixed bug #524209
+
+       * src/SDCCval.c (valNot): fixed bug #524195
+
+2002-02-26    <johan@balder>
+
+       * src/xa51/gen.c: fixed a warning
+
+       * src/SDCCglue.c (printIvalFuncPtr): fixed bug #522534
+
+       * src/SDCCast.c (decorateType): fixed bug #522534
+
+2002-02-23    <johan@balder>
+
+       * src/SDCCdflow.c (computeDataFlow): fixed bug #460088
+
+2002-02-22    <johan@balder>
+
+       * src/SDCCast.c: fixed bug #514865
+
+       * src/SDCCy.c ("SDCC.y"): fixed bug #516625
+
+2002-02-21  Sandeep Dutta  <sandeep@ddi.com>
+
+       * sdcc/src/SDCCloop.c:
+       Previous fix was not good. basic blocks that have "break" or "return" are
+       not really partof a loop , but live ranges used in these blocks should
+       be live thru the entire loop, so set partOfLoop but don't add them to
+       loop region
+
+2002-02-21    <johan@FRIJA>
+
+       * src/SDCCcse.c: fixed bug #514308
+
+2002-02-20  Sandeep Dutta  <sandeep@ddi.com>
+
+       * src/SDCCloop.c:
+       Fixed BUG #519583. If a conditional block ended in a return/break
+       statement inside a loop, it was not being considered part of the loop.
+
+       * src/SDCCcflow.c: Removed fix (Fixed in SDCCloop.c)
+
+2002-02-10  Karl Bongers <karl@turbobit.com>
+
+       * debugger/*:
+       Fixed up SDCDB debugger somewhat.  Updated debugger/README
+       with lots of comments and notes.
+
+       * device/examples/test2.c:
+       Fix bug, "red" variable not being initialized(compiler complained).
+
+       * device/examples/Makefile, examples/test3.c:
+       Add Makefile in device/examples folder, compiles test3.c
+       for use as a multiple module SDCDB test case.
+
+       * sim/ucsim/cmd.src/cmdset.cc:
+       Took out debug printfs in ucsim "next" command.
+
+       * sim/ucsim/xa.src:
+       Karl and Johan start ucsim XA support.  Most dissassembly working,
+       about 75% emulation done(plenty of work remaining).
+
+       * sim/ucsim/z80.src:
+       Add Z80 support to ucsim, add test-ucz80 regression test,
+       notice ucsim/z80 emulation fails on examples/test3.c/itoa code.
+       Notice z80 compiler fails on examples/test3.c/crc code.
+
+2002-01-30  Sandeep Dutta  <sandeep@ddi.com>
+
+       * src/mcs51/gen.c, src/mcs51/main.c, src/mcs51/ralloc.c:
+       Added support for --parms-in-bank1
+
+       * src/ds390/peeph.def:
+       added a few more peephole optimzations
+
+       * src/ds390/main.c:
+       1) added __builtin_inp & __builtin_outp used to read in data of given length
+          from a memory mapped port
+       2) added __builtin_memcmp
+       3) added __builtin_swapw swap bytes of a short
+
+       * src/ds390/gen.c, src/ds390/gen.h, src/ds390/ralloc.c:
+       1) handle multiple send & receives from register bank1
+       2) ralloc can now allocate DPTR1 to some liveRanges
+
+       * src/SDCCsymt.c, src/SDCCsymt.h:
+       changes to handle multiple sends & receives
+
+       * src/SDCCptropt.h:
+       added some pointer arithmetic optimization
+
+       * src/SDCCptropt.c:
+       added some pointer arithmetic optimizations but not stable yet so not
+       called from anywhere (will get this working shortly)
+
+       * src/SDCCopt.c: fixed for multiple sends & receives
+
+       * src/SDCCmain.c:
+       1) added options --parms-in-bank1 (ds390/mcs51) & --protect-sp-update
+       2) preprocessing done AFTER port->finalizeoptions . This allows ports to
+          set preprocessor defines (depending on options)
+
+       * src/SDCCicode.c, src/SDCCicode.h:
+       changes made to handle multiple sends & receives
+
+       * src/SDCCglobl.h:
+       Added options --protect-sp-update (ds390) and --parms-in-bank1 (ds390/mcs51)
+
+       * src/SDCCcse.c, src/SDCCcse.h:
+       added function findbackward def (to be used in upcoming optimization)
+
+       * src/SDCCcflow.c, src/SDCCcflow.h:
+       added function returnAtEnd - to determine if a basic block terminates with
+       a RETURN iCode
+
+       * src/SDCCast.c, src/SDCCast.h:
+       added option parms-in-bank1
+
+       * device/lib/_divsint.c, device/lib/_divslong.c, device/lib/_divuint.c 
+       * device/lib/_divulong.c, device/lib/_modsint.c, device/lib/_modslong.c 
+       * device/lib/_modulong.c, device/lib/_mulint.c, device/lib/_mullong.c:
+       adjusted for --parms-in-bank1 option
+
+       * device/include/string.h:
+       donot redefine "reentrant" keyword
+
+       * device/include/ds80c390.h: Added some more SFRs
+
+2002-01-28  Bernhard Held  <bernhard@bernhardheld.de>
+
+       * sim/ucsim: Merged branch ucsim-034-pre3 to main trunk; new version 0.4 
+
 2002-01-26  Bernhard Held  <bernhard@bernhardheld.de>
 
        * src/SDCCast.c (funcOfType): fix usage of double --float-reent