* src/mcs51/main.c: fixed bug #737001 for the mcs51. SDCC clears xdata and data memor...
[fw/sdcc] / ChangeLog
index d75bcdd498cd7ab0d624d403a7395b5c34c654a2..166996d4ac691b648c0cdd8d413e44cc087b82bc 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,173 @@
+2003-12-13 Frieder Ferlemann <Frieder.Ferlemann@web.de>
+
+       * src/mcs51/main.c: fixed bug #737001 for the mcs51. SDCC clears 
+       xdata and data memory on startup. Set the environment variable 
+       SDCC_NOGENRAMCLEAR to disable this.
+       * src/ds390/peephole.def: using the atomic test and clear instruction jbc
+       (allows non-interrupt and interrupt code to safely compete for a resource
+       without the non-interrupt code having to disable interrupts)
+
+2003-12-13 Erik Petrich <epetrich@ivorytower.norman.ok.us>
+
+       * src/SDCCicode.c (geniCodeAdd),
+       * src/SDCCast.c (decorateType): fixed bug #857753 (need to be careful
+       with valFromType if type might be a pointer and host is big endian).
+       * src/SDCCast.c (decorateType): unary plus compatible with all arithmetic
+       types, not just integer types.
+       * src/SDCCsymt.c (addSymChain): clarified error message when symbol is
+       multiply defined with mismatching "at" address.
+
+2003-12-12 Erik Petrich <epetrich@ivorytower.norman.ok.us>
+
+       * src/ds390/main.c (PORT tininative_port): fixed bug #858416
+       * src/SDCCglue.c (printChar, printIvalChar, emitStaticSeg),
+       * src/SDCCast.c (createIvalCharPtr, stringToSymbol): handle strings
+       with embedded nulls (fixed bug #753752)
+
+2003-12-12 Frieder Ferlemann <Frieder.Ferlemann@web.de>
+
+       * src/mcs51/main.c(_mcs51_genRAMCLEAR): using r0 instead of r1/r2.
+       Apparently this did not see much testing (endless loop)
+
+2003-12-11 Erik Petrich <epetrich@ivorytower.norman.ok.us>
+
+       * src/z80/ralloc.c: set DISABLE_PACK_HL = 1 as a temporary fix to bug #855165
+
+2003-12-10 Erik Petrich <epetrich@ivorytower.norman.ok.us>
+
+       * src/SDCCdebug.c (outputDebugSymbols, outputDebugStackSymbols, dumpSymInfo):
+       gracefully handle NULL memmap pointers
+
+2003-12-08 Erik Petrich <epetrich@ivorytower.norman.ok.us>
+
+       * src/SDCCopt.c (killDeadCode): change iCode type to DUMMY_READ_VOLATILE
+       instead of deleting the iCode when an operand is volatile
+       * src/z80/gen.c (genDummyRead),
+       * src/mcs51/gen.c (genDummyRead),
+       * src/ds390/gen.c (genDummyRead),
+       * src/hc08/gen.c (genDummyRead): handle operands in IC_LEFT and/or IC_RIGHT,
+       not just IC_RIGHT
+       * src/SDCCicode.c (geniCodeCall): fixed bug #851607
+       * src/SDCC.y: fixed bug #850420
+
+2003-12-05 Erik Petrich <epetrich@ivorytower.norman.ok.us>
+
+       Applied z80 i/o port patch from Peter Townson and fixed some operators
+       to better handle operands in A register.
+       * device/include/z180.h
+       * src/SDCC.y
+       * src/SDCCglue.c
+       * src/z80/gen.c
+       * src/z80/gen.h
+       * src/z80/main.c
+       * src/z80/peeph-z80.def
+       * src/z80/peeph.def
+       * src/z80/z80.h
+
+2003-12-03 Erik Petrich <epetrich@ivorytower.norman.ok.us>
+
+       * src/SDCCsymt.c (addSymChain, compareTypeExact): fixed bug #838241 again
+
+2003-12-01 Erik Petrich <epetrich@ivorytower.norman.ok.us>
+
+       * device/lib/hc08/_mullong.c: Removed extra #endif
+
+2003-12-01 Erik Petrich <epetrich@ivorytower.norman.ok.us>
+
+       * sim/ucsim/hc08.src/inst.cc,
+       * sim/ucsim/hc08.src/hc08mac.h: fixed some problems with CC flag bits and
+       carries from x to h
+       * src/hc08/gen.c (aopAdrStr): fixed problem with 16 bit immediate
+       * src/hc08/gen.c (XAccRsh): fixed problem with right shift
+       * device/include/stdarg.h: fixed varargs for hc08
+       * device/lib/Makefile.in,
+       * device/lib/hc08/Makefile,
+       * device/lib/hc08/_mulint.c,
+       * device/lib/hc08/_mullong.c: fixed some endian problems
+
+2003-11-28 Frieder Ferlemann <Frieder.Ferlemann@web.de>
+
+       * sdcc/src/mcs51/gen.c (genMultOneByte): help peephole 105
+       * sdcc/src/mcs51/peeph.def: added peephole 186.e array access in code space
+       * device/lib/_gptrget.c,
+       * device/lib/_gptrput.c: P2 not used any more (related to #850747, #785979)
+
+2003-11-27 Erik Petrich <epetrich@ivorytower.norman.ok.us>
+
+       * src/SDCClrange.c (findNextUseSym, rlivePoint): fixed bug #849795
+       * src/SDCCast.c (astErrors): fixed bug #846007
+       * src/SDCCsymt.c (checkFunction): fixed follow-up bug on bug #846007
+
+2003-11-26 Erik Petrich <epetrich@ivorytower.norman.ok.us>
+
+       * src/SDCCast.c (decorateType): disabled a transformation I added in
+       revision 1.188 (access to fields of a structure at an absolute address);
+       it breaks with bitfields, extern declarations, and gcse analysis.
+       * src/SDCCopt.c (isLocalWithoutDef): if ADDRESS_OF applied to a symbol, it
+       could be assigned through a pointer, so don't complain.
+       * src/SDCCast.c (astErrors),
+       * src/SDCCast.h,
+       * src/SDCCglue.c (emitRegularMap): fixed bug #847813
+
+2003-11-26 Vangelis Rokas <vrokas@otenet.gr>
+       
+       * src/pic16/main.c (_pic16_genIVT): fixed interrupt vector table
+       * src/pic16/main.c (_pic16_genAssemblerPreamble): re-enabled the
+       output of __config directives, since gpasm now supports them
+       * src/pic16/main.c (_pic16_finaliseOptions): define MCU
+       pre-processor macro, i.e. -DMCU=p18f452
+       * src/pic16/ralloc.c: renamed packRegisters to pic16_packRegisters,
+       and modified to handle 'cast' icode similarly to '=' icode
+       * src/pic16/device.h (typedef struct PIC_device): added field
+       'extMIface' to indicate that chip has external memory interface
+       * src/pic16/device.c: added chips 18F248, 18F258, 18F448, 18F458,
+       18F6520, 18F6620, 18F6680, 18F6720, 18F8520, 18F8620, 18F8680,
+       18F8720
+
+2003-11-26 Erik Petrich <epetrich@ivorytower.norman.ok.us>
+
+       * src/SDCC.y (pointer): fixed bug #846006
+       * support/Util/SDCCerr.c: made W_PTR_TYPE_INVALID message clearer
+       * src/SDCCast.c (decorateType): fixed bug #846009
+       * src/ds390/peeph.def,        
+       * src/ds390/gen.c (genAnd, genOr),
+       * src/mcs51/peeph.def,        
+       * src/mcs51/gen.c (genAnd, genOr): fixed bug #846777
+
+2003-11-25 Erik Petrich <epetrich@ivorytower.norman.ok.us>
+
+       Fixed several common-sub-expression bugs (#772861, #768380, & #755323)
+       * src/SDCCdflow.c
+       * src/SDCCcse.c
+       * src/SDCCcse.h
+       * src/SDCCBBlock.h
+       * src/SDCCBBlock.c
+
+2003-11-23 Klaus Flittner <klaus_flittner@gmx.de>
+
+       fixed bug #845089
+       * src/SDCCbitv.h,
+       * src/SDCCbitv.c: added function to free a bitvector
+       * src/SDCClrange.h,
+       * src/SDCClrange.c: added function to recompute the liveranges
+       * src/avr/ralloc.c,
+       * src/ds390/ralloc.c,
+       * src/hc08/ralloc.c,
+       * src/mcs51/ralloc.c,
+       * src/pic/ralloc.c,
+       * src/pic16/ralloc.c,
+       * src/xa51/ralloc.c,
+       * src/z80/ralloc.c: recompute the liveranges after register packing
+
+2003-11-21 Klaus Flittner <klaus_flittner@gmx.de>
+
+       * src/SDCCloop.c (newInduction): fixed bug #845630
+
+2003-11-21 Erik Petrich <epetrich@ivorytower.norman.ok.us>
+
+       * src/SDCCsymt.c (compareTypesExact): disabled debugging output
+       inadvertantly left behind from my 2003-11-12 change
+
 2003-11-20 Erik Petrich <epetrich@ivorytower.norman.ok.us>
 
        Updated headers I neglected to commit yesterday.
@@ -7,7 +177,7 @@
 2003-11-19 Erik Petrich <epetrich@ivorytower.norman.ok.us>
 
        * src/SDCCcse.c (algebraicOpts): fixed bug #773153
-       * src/SDCClrange.c (rlivePoint): need to mark IC_RESULT used if POINTER_GET op
+       * src/SDCClrange.c (rlivePoint): need to mark IC_RESULT used if POINTER_SET op
        * src/SDCCopt.c (eBBlockFromiCode),
        * src/SDCClrange.c (hashiCodeKeys, sequenceiCode, computeLiveRanges): seperated
        the creation of the key hash table from the sequencing so it can be used