doc/sdccman.lyx: minor changes, minor changed
[fw/sdcc] / ChangeLog
index 4f453e79a552cfb3ff8f2cf2de7fd4f7afdd997a..5a4d584ed719f0848a786ee0e7b15b4bcd51ee6c 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,162 @@
+2004-02-14 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
+
+       * doc/sdccman.lyx: minor changes, minor changed
+
+2004-02-13 Bernhard Held <bernhard AT bernhardheld.de>
+
+       * src/SDCCicode.c (usualBinaryConversions): removed pic16 from ports
+       which can't handle SDCC_NEWONEBYTEOPS,
+       (geniCodeMultiply): removed conversion from mult to shift for pic14
+       and pic16
+
+2004-02-12 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+       * src/hc08/gen.h,
+       * src/hc08/gen.c (storeRegToAop, aopOp, aopAdrStr, accopWithAop,
+       rmwWithAop): Ported my 2004-10-02 fix for bug #663539 to the hc08,
+       thus fixing bug #895406
+
+2004-02-11 Bernhard Held <bernhard AT bernhardheld.de>
+
+       * device/lib/_modsint.c,
+       * device/lib/_modslong.c: sign follows divisor only
+       * src/hc08/gen.c (genMultOneByte): if result size is 1,
+       signs or signedness can be ignored
+       * src/SDCCast.c (addCast): cosmetic - added lineno to CAST
+       * src/SDCCast.c (resultTypePropagate): added even more ops: +, - and *,
+       added optimization for IFX,
+       (decorateType): Mult/Div/ModOneByte ops can handle all kind of signed
+       arguments;
+       reenabled optimization for IFX, which was removed on 2004-01-11
+       * src/SDCCast.h: added return type IFX
+       * src/SDCCicode.c: Mult/Div/ModOneByte ops can handle all kind of signed
+       arguments with 8 or 16 bit results; pic14 and pic16 ports use old
+       promotion behaviour; env. var. SDCC_NEWONEBYTEOPS selects the new,
+       SDCC_OLDONEBYTEOPS selects the old behaviour
+       * src/SDCCsymt.c (computeType): type2 can be NULL (for LEFT_OP);
+       changed again and commented promotion rule
+       * src/SDCCval.c (valDiv): promotion no longer necessary
+       * src/ds390/gen.c (genMultOneByte) (genDivOneByte) (genModOneByte),
+       * src/mcs51/gen.c (genMultOneByte) (genDivOneByte) (genModOneByte):
+       rewritten
+       * support/regression/tests/onebyte.c: added
+
+2004-02-11 Vangelis Rokas <vrokas AT otenet.gr>
+
+       * gen.c (genInline): reverted to old code for assemnling inline
+       code because of bug reported James Chadd
+
+2004-02-10 Vangelis Rokas <vrokas AT otenet.gr>
+
+       * ralloc.h: missing declarations from previous patch,
+       seems that patch for ralloc.h was never applied, fixed
+       
+2004-02-10 Hans-Juergen Dorn <hans.dorn AT apl-landau.de>
+          patch committed by Vangelis Rokas <vrokas AT otenet.gr>
+
+       * pcode.c,
+       * pcode.h,
+       * ralloc.h: added FSR0L, FSR0H and other missing PIC16 SFR's for
+       indirect addressing. Marked FSR0 as deprecated
+       * gen.c (pointerCode): commented out, not needed now
+       (pic16_popGet2p): new MOVFF helper function
+       (genGenPointerGet),
+       (genGenPointerSet): reimplemented with MOVFF and POSTINC0
+       (shiftRLong): removed duplicate debugging info
+
+2004-02-10 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+       * src/ds390/gen.c (genNearPointerGet),
+       * src/mcs51/gen.c (genNearPointerGet): allow the genDataPointerGet()
+       optimization with bits, but not bitfields.
+       * src/ds390/ralloc.c (packRegisters),
+       * src/mcs51/ralloc.c (packRegisters): fixed bug #884453 & #880832
+
+2004-02-09 Bernhard Held <bernhard AT bernhardheld.de>
+
+       * src/SDCCcse.c (algebraicOpts): copy operands before modification
+
+2004-02-09 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+       * src/SDCCsymt.h,
+       * src/SDCCicode.c (operandFromSymbol),
+       * src/mcs51/ralloc.c (verifyRegsAssigned, serialRegAssign),
+       * src/ds390/ralloc.c (verifyRegsAssigned, serialRegAssign),
+       * src/z80/ralloc.c (verifyRegsAssigned, serialRegAssign),
+       * src/hc08/ralloc.c (verifyRegsAssigned, serialRegAssign),
+       * src/pic/ralloc.c (verifyRegsAssigned, serialRegAssign),
+       * src/pic16/ralloc.c (verifyRegsAssigned, serialRegAssign): fixed
+       bug #892038
+       * src/SDCCast.c (createIvalStruct, createIvalArray, gatherAutoInit),
+       * src/SDCCglue.c (emitRegularMap, printIvalStruct, printIvalArray,
+       printIvalCharPtr, printIvalPtr, printIval, emitStaticSeg, emitOverlay)
+       * src/SDCCsymt.c (newSymbol),
+       * src/SDCC.y (struct_or_union_specifier, enum_specifier, 
+       enumerator_list),
+       * src/SDCCval.h,
+       * src/SDCCval.c (newiList): fixed bug #885705
+
+2004-02-08  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
+
+       * doc/sdccman.lyx: added section 3.1.4: sdcclib.
+       * as/mcs51/lkmem.c: report the size of the stack in .mem file.
+
+2004-02-08 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
+
+       * device/include/c8051f120.h,
+       * device/include/c8051f300.h,
+       * device/include/c8051f310.h: added/updated header files for Silicon
+       Laboratories (formerly Cygnal) CPUs. Contributed by Maarten Brock.
+       * doc/sdccman.lyx: minor changes, recommended diff -Naur and diff -u
+       in new section Submitting patches
+
+2004-02-08 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+       * src/mcs51/gen.c (genNearPointerGet, genPagedPointerGet,
+       genFarPointerGet, genCodePointerGet, genGenPointerGet,
+       genNearPointerSet, genPagedPointerSet, genFarPointerSet,
+       genGenPointerSet),
+       * src/ds390/gen.c (genNearPointerGet, genPagedPointerGet,
+       genFarPointerGet, genCodePointerGet, genGenPointerGet,
+       genNearPointerSet, genPagedPointerSet, genFarPointerSet,
+       genGenPointerSet),
+       * src/pic16/gen.c (genNearPointerGet, genPagedPointerGet,
+       genFarPointerGet, genCodePointerGet, genGenPointerGet,
+       genNearPointerSet, genPagedPointerSet, genFarPointerSet,
+       genGenPointerSet),
+       * src/pic/gen.c (genNearPointerGet, genPagedPointerGet,
+       genFarPointerGet, genCodePointerGet, genGenPointerGet,
+       genNearPointerSet, genPagedPointerSet, genFarPointerSet,
+       genGenPointerSet): fixed bug #892400
+       * src/pic16/gen.c (genSkipz, AccRol): disabled functions with #if 0
+       to eliminate build warnings.
+       * src/SDCCast.c (processParms),
+       * src/SDCC.y (function_declarator2, declarator2_function_attributes):
+       fixed bug 751859
+       * support/valdiag/valdiag.py: added GCC to the list of defines active
+       when compiling with gcc
+
+2004-02-07 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+       * support/Util/SDCCerr.h,
+       * support/Util/SDCCerr.c,
+       * src/SDCCast.c (decorateType, sizeofOp): complain when sizeof is used
+       with an incomplete type (fixed bug #883734)
+       * src/SDCCicode.c (geniCodeCast): fixed bug #890510
+
+2004-02-07 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+       * src/pic16/gen.c (genCmpEq, shiftRLong): fixed declarations
+
+2004-02-06 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+       * src/SDCCast.c (decorateType),
+       * src/SDCCicode.c (geniCodeParms, geniCodeCall): fixed bugs in my ANSI
+       function pointer implementation
+       * support/regression/tests/funptrs.c: added tests to verify both forms
+       of function pointers work correctly. Added tests to verify parameters
+       are passed in the correct order.
+
 2004-02-06  Vangelis Rokas <vrokas AT otenet.gr>
 
        * device.c (regCompare): registers are sorted by ascending
 
        * pcode.c (pic16initMnemonics): fixed typo in assignment to PCOP_RLNCF
        PCOP_RLCF was overwritten!
-       * gen.c (genSkip) commented out calls to pic16_emitcode,
-       * (genCmpEQ) fixed "long" compares, only high word did get compared,
+       * gen.c (genSkip): commented out calls to pic16_emitcode,
+       * (genCmpEQ): fixed "long" compares, only high word did get compared,
        * (genlshTwo),
-       * (genRRC) added debugging info,
-       * (shiftL2Left2Result) Fixed bug, if offr > offl. Result got
+       * (genRRC): added debugging info,
+       * (shiftL2Left2Result): Fixed bug, if offr > offl. Result got
        overwritten while shifting,
-       * (shiftR2Left2Result) Fixed bug, if offr < offl. Result got
+       * (shiftR2Left2Result): Fixed bug, if offr < offl. Result got
        overwritten while shifting,
        * (AccLsh),
        * (AccRsh),
        * (shiftLLeftOrResult),
        * (shiftRLeftOrResult),
        * (shiftRLong),
-       * (shiftLLong) Implemented with pic16_emitpcode
-       * (genlshFour) Replaced pic16_aopPut with pic16_emitpcode,
-       * (genLeftShift) Fixed bug, operand for shift by variable always
+       * (shiftLLong): Implemented with pic16_emitpcode
+       * (genlshFour): Replaced pic16_aopPut with pic16_emitpcode,
+       * (genLeftShift): Fixed bug, operand for shift by variable always
        was "and"ed with 0x0f,
        * (genLeftShiftLiteral),
        * (genrshTwo),
-       * (genRightShiftLiteral) added debugging info,
-       * (genrshFour) added comment,
-       * (genRightShift) determined signedness from operand "left"
+       * (genRightShiftLiteral): added debugging info,
+       * (genrshFour): added comment,
+       * (genRightShift): determined signedness from operand "left"
        instead of "result"
 
 2004-02-04 Erik Petrich <epetrich AT ivorytower.norman.ok.us>