X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=ChangeLog;h=ccde82b2c98ee36b65e510949ec513a8d311058f;hb=fa8d9e5fa4646b55450697b80718e33b579609a8;hp=f2d112f1555774aabbfaa4f9022e59f9f3ab3225;hpb=5e3fd06045412d5ebc2f551d10c91476f8f6586e;p=fw%2Fsdcc diff --git a/ChangeLog b/ChangeLog index f2d112f1..ccde82b2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,10 +1,263 @@ +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 + + * 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 + + * src/hc08/gen.c (shiftL2Left2Result): fix for bug-500536 regression + test + +2004-08-28 Erik Petrich + + * 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 + + * src/hc08/gen.c (genPackBitsImmed, genUnpackBitsImmed): fix offset + problem in bitfields >= 8 bits. + +2004-08-27 Maarten Brock + + * src/SDCCsymt.c: undid changes that were not meant to be committed + +2004-08-27 Maarten Brock + + * support/regression/ports/hc08spec.mk: REENTRANT must be reentrant + +2004-08-27 Maarten Brock + + * src/hc08/gen.c (genUminusFloat): fixed bug where only 3 bytes were + copied and wrong bit got inverted + +2004-08-27 Erik Petrich + + * 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 + + * 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 + + * src/mcs51/peeph.def: peepholes 248.i-m for xdata bitfields + +2004-08-21 Erik Petrich + + * src/mcs51/ralloc.c (packRegsForOneuse): fixed bug #1012650 and some + related problems + +2004-08-21 Bernhard Held + + * sim/ucsim/cmd.src/Makefile.in: run lex only if $(PRJDIR)/devel exists + +2004-08-18 Erik Petrich + + * src/z80/ralloc.c (packRegsForAssign): ported some bug fixes from the + mcs51 port + +2004-08-16 Slade Rich + + * src/pic/gen.c: Restored fn genRet as previous fix was incorrect. + +2004-08-14 Frieder Ferlemann + + * src/mcs51/gen.c (genJumpTab): jumptables for more than 16 switch + cases use more compact code. + +2004-08-13 Slade Rich + + * src/pic/gen.c: Fixed problem with fn returning a variable bigger than a char. + +2004-08-12 Erik Petrich + + * src/SDCClrange.c (findPrevUse): fixed bug #1007371 + +2004-08-12 Erik Petrich + + * 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 + + * src/pic/glue.c: Added struct initialisation fn printIvalStruct. + +2004-08-11 Slade Rich + + * 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 + + * 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 + + * src/mcs51/gen.c (emitcode): fixed bug #992819 + +2004-08-05 Maarten Brock + + * src/pic/ralloc.c (deassignLR): allthough pic port is buggy already, + there's no need to make it worse + +2004-08-05 Erik Petrich + + * 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 + + * 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 + + * src/mcs51/gen.c (genInline): Add \n for labels, not DOS/WIN dirs + such as c:\mydir. + +2004-08-03 Maarten Brock + + * src/SDCCloop.c (loopInvariants): fixed bug 983545, hope this + doesn't disable too much optimizations + +2004-08-02 Slade Rich + + * src/pic/glue.c Disabled "WARNING: function 'main' undefined" when -S option is used. + +2004-08-02 Maarten Brock + + * src/SDCClrange.c (rlivePoint): fixed bug 988568, thanks to anonymous + +2004-08-02 Slade Rich + + * 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 + + * 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 + + * device/include/mcs51reg.h: fixed bug 970993 + +2004-07-27 Maarten Brock + + * added lib/calloc.c, lib/free.c, lib/realloc.c, include/stddef.h + * updated lib/malloc.c, lib/libsdcc.lib, lib/Makefile.in, include/malloc.h + * src/SDCC.lex (doPragma): added pragma disable_warning + * src/SDCCmain.c (parseCmdLine): added option --disable-warning + * src/ds390/gen.c (genPlusIncr): fixed bug when incrementing generic pointers + * support/Util/SDCCerr.c (vwerror): suppress disabled warnings and output + error/warning numbers, + added function setWarningDisabled() + * support/Util/SDCCerr.h: added setWarningDisabled() and MAX_ERROR_WARNING + * support/regression/ports/mcs51-stack-auto/spec.mk: added dependencies + _memcmp.c _memmove.c calloc.c realloc.c free.c + * support/regression/tests/malloc.c: added tests for new functionality + * support/regression/tests/zeropad.c: added tests for truncated initializers + and initialized char arrays starting with '\x0' + * src/mcs51/peeph.def: fixed regression, added peephole 177.f + +2004-07-26 Bernhard Held + + * support/valdiag/tests/overflow.c: fixed warning on (1 >> 40) + +2004-07-26 Frieder Ferlemann + + * doc/sdccman.lyx: updated example in section "Absolute Addressing" + * src/mcs51/peeph.def: added contributed fix for "bug" #995347 as + peephole 177.e. Thanks to anonymous + +2004-07-25 Vangelis Rokas + + * src/pic16/glue.c (pic16_printIvalFuncPtr): when an extern + function isn't used in the source but referenced as a + variable initializer then declare it as extern in .asm file + 2004-07-24 Vangelis Rokas * .version: increased version number to 2.4.3 Adding version extension according to ChangeLog CVS revision * src/Makefile.in (target all): added dependency 'version.h' - * (rule version.h): added rule to create version.h from ChangeLog + * (rule version.h): added rule to create version.h from ChangeLog, + * (rule dep): added dependency version.h, * src/version.awk: AWK script to create version.h * src/SDCCdwarf2.c (dwWriteModule), * src/SDCCglue.c (initialComments),