* src/pic16/gen.c (genFunction, genEndFunction): fixed return
[fw/sdcc] / ChangeLog
index 936fd9a116d5d8af60a407c4a53acbd88abc0f57..ccde82b2c98ee36b65e510949ec513a8d311058f 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,217 @@
+2004-08-29 Vangelis Rokas (vrokas AT otenet.gr>
+
+       * src/pic16/gen.c (genFunction, genEndFunction): fixed return
+       instruction for interrupt handlers, use fast returns when returning
+       from high priority interrupts
+
+2004-08-29 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+       * src/hc08/gen.c (genAnd, genOr, transferAopAop, rmwWithAop): optimized
+       code generation
+       * src/hc08/gen.c (genrshFour, genCpl): fixed bugs
+       * src/hc08/gen.c (genMultOneByte, genDivOneByte, genModOneByte): fixed
+       bugs, ported much of Bernhard's code from mcs51
+       * src/mcs51/gen.c (genSend),
+       * src/hc08/gen.c (genSend): fixed bug with lost SEND iCodes if more
+       than one when calling a reentrant function
+       * device/lib/_mullong.c: defined an alternate struct layout for big
+       endian ports (hc08)
+
+2004-08-28 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+       * src/hc08/gen.c (shiftL2Left2Result): fix for bug-500536 regression
+       test
+
+2004-08-28 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+       * src/SDCCsymt.c (processFuncArgs): make sure parameter types
+       are sane and complete before asking the port its prefered parameter
+       passing method (fixes bug #1017633)
+       * device/lib/hc08/_ret.c: added "data" storage class to _ret2
+       and _ret3
+
+2004-08-27 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+       * src/hc08/gen.c (genPackBitsImmed, genUnpackBitsImmed): fix offset
+       problem in bitfields >= 8 bits.
+
+2004-08-27 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * src/SDCCsymt.c: undid changes that were not meant to be committed
+
+2004-08-27 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * support/regression/ports/hc08spec.mk: REENTRANT must be reentrant
+
+2004-08-27 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * src/hc08/gen.c (genUminusFloat): fixed bug where only 3 bytes were
+         copied and wrong bit got inverted
+
+2004-08-27 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+       * src/hc08/gen.c (genPointerSet, genFarPointerSet): moved code from
+       genFarPointerSet into genPointerSet; eliminated genFarPointerSet
+       * src/hc08/gen.c (genPointerGet, genFarPointerGet): moved code from
+       genFarPointerGet into genPointerGet; eliminated genFarPointerGet
+       * src/hc08/gen.c (genPackBitsImmed): generate optimized code for
+       assignments to bitfields at known addresses
+       * src/hc08/gen.c (genUnpackBitsImmed): generate optimized code for
+       reads from bitfields at known addresses
+       * src/hc08/ralloc.c (packRegisters),
+       * src/hc08/gen.c (genPointerGet, genUnpackBits, genUnpackBitsImmed,
+       genhc08Code): optimize pointer get values used as conditionals
+       * src/hc08/peeph.def: added rules 2e & 2f to optimize bit test
+       and branch
+
+2004-08-24 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+       * src/mcs51/gen.c (genPointerGet, genNearPointerGet, genPagedPointerGet,
+       genFarPointerGet, genCodePointerGet, genGenPointerGet, genUnpackBits),
+       * src/mcs51/ralloc.c (packRegisters): optimize pointer get values used
+       as conditionals
+
+2004-08-22 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
+
+       * src/mcs51/peeph.def: peepholes 248.i-m for xdata bitfields
+
+2004-08-21 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+       * src/mcs51/ralloc.c (packRegsForOneuse): fixed bug #1012650 and some
+       related problems
+
+2004-08-21 Bernhard Held <bernhard AT bernhardheld.de>
+
+       * sim/ucsim/cmd.src/Makefile.in: run lex only if $(PRJDIR)/devel exists
+
+2004-08-18 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+       * src/z80/ralloc.c (packRegsForAssign): ported some bug fixes from the
+       mcs51 port
+
+2004-08-16 Slade Rich <slade_rich AT users.sourceforge.net>
+
+       * src/pic/gen.c: Restored fn genRet as previous fix was incorrect.
+
+2004-08-14 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
+
+       * src/mcs51/gen.c (genJumpTab): jumptables for more than 16 switch
+       cases use more compact code.
+
+2004-08-13 Slade Rich <slade_rich AT users.sourceforge.net>
+
+       * src/pic/gen.c: Fixed problem with fn returning a variable bigger than a char.
+
+2004-08-12 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+       * src/SDCClrange.c (findPrevUse): fixed bug #1007371
+
+2004-08-12 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+       * src/SDCCsymt.h,
+       * src/SDCCsymt.c (changePointer, checkDecl, addSymChain): changed
+       parameter of changePointer() from symbol* to sym_link*
+       * src/SDCCast.c (decorateType): call changePointer() for CAST op
+       * src/SDCCsymt.c (compareType): void* type is castable to other
+       pointers, but not necesarily an exact match.
+       * src/SDCCicode.c (geniCodeCast): allow void* casting here since it
+       is no longer blindly treated as an exact match.
+       * src/SDCCval.c (valCastLiteral): treat missing type as cast to void
+
+2004-08-12 Slade Rich <slade_rich AT users.sourceforge.net>
+
+       * src/pic/glue.c: Added struct initialisation fn printIvalStruct.
+
+2004-08-11 Slade Rich <slade_rich AT users.sourceforge.net>
+
+       * src/pic/gen.c,
+       * src/pic/pcode.c,
+       * src/pic/ralloc.h,
+       * src/pic/ralloc.c: Printing rIdx on internal verbose debug.
+
+2004-08-10 Slade Rich <slade_rich AT users.sourceforge.net>
+
+       * src/pic/device.c,
+       * src/pic/device.h,
+       * src/pic/device.c: Will no longer exit if #pragma maxram has not been defined.
+
+2004-08-06 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+       * src/mcs51/gen.c (emitcode): fixed bug #992819
+
+2004-08-05 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * src/pic/ralloc.c (deassignLR): allthough pic port is buggy already,
+         there's no need to make it worse
+
+2004-08-05 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+       * src/mcs51/ralloc.c (deassignLR),
+       * src/ds390/ralloc.c (deassignLR),
+       * src/hc08/ralloc.c (deassignLR),
+       * src/z80/ralloc.c (deassignLR),
+       * src/pic/ralloc.c (deassignLR),
+       * src/pic16/ralloc.c (deassignLR),
+       * src/avr/ralloc.c (deassignLR),
+       * src/SDCClrange.c (findRecursiveSucc, findRecursivePred, findPrevUse,
+       rlivePoint): fixed another part of bug #971834
+
+2004-08-04 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+       * src/z80/main.c: enabled "critical" keyword
+       * src/z80/mappings.i,
+       * src/z80/gen.c (genFunction, genEndFunction): support for interrupt
+       functions (fixes bug #979646)
+       * doc/sdccman.lyx: added a subsection explaining z80 interrupt support
+
+2004-08-04 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
+
+       * src/mcs51/gen.c (genInline): Add \n for labels, not DOS/WIN dirs
+         such as c:\mydir.
+
+2004-08-03 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * src/SDCCloop.c (loopInvariants): fixed bug 983545, hope this
+         doesn't disable too much optimizations
+
+2004-08-02 Slade Rich <slade_rich AT users.sourceforge.net>
+
+       * src/pic/glue.c Disabled "WARNING: function 'main' undefined" when -S option is used.
+
+2004-08-02 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * src/SDCClrange.c (rlivePoint): fixed bug 988568, thanks to anonymous
+
+2004-08-02 Slade Rich <slade_rich AT users.sourceforge.net>
+
+       * src/pic/gen.c tidied up tabs
+       * src/pic/genarith.c tidied up tabs and fixed bug with literal multiple where same register was used for hi and low byte
+       * src/pic/main.c tidied up tabs
+       * src/pic/pcode.c tidied up tabs and disabled verbose code generation
+       * src/pic/pcoderegs.c tidied up tabs
+       * src/pic/ralloc.c tidied up tabs
+
+2004-07-30 Vangelis Rokas <vrokas AT otenet.gr>
+
+       * src/SDCCmem.c (allocGlobal): don't turn S_REGISTER storage class
+       to S_FIXED for pic16 port and when symbol is not in level 0,
+       allocate for S_REGISTER storage class and pic16 port, too,
+       * src/pic16/device.h: prototype for checkSym,
+       * src/pic16/device.c (pic16_dump_access, checkSym): NEW,
+       * (pic16_assignConfigWordValue): test the value and the mask to
+       validate that the value is suitable for the configuration word,
+       * src/pic16/glue.c (pic16_printIvalFuncPtr): use 'externs' to
+       collect extern declared symbols, don't emit symbol twice, check
+       first if symbol is in publics set first,
+       * src/pic16/main.c (_pic16_keywords[]): added keyword 'register',
+       * added command line '--fstack' which enables an experimental
+       feature for stack access, too buggy to be used yet...
+       * src/pic16/ralloc.c (pic16_accessregWithName): NEW,
+       * (pic16_allocDirReg): when register has storage class S_REGISTER
+       allocate in pic16_dynAccessRegs,
+       * device/include/pic16/pic18f????.h: modified configuration word
+       naming convention, words started as CONFIG0H but should be CONFIG1H
+
 2004-07-29 Maarten Brock <sourceforge.brock AT dse.nl>
 
        * device/include/mcs51reg.h: fixed bug 970993