X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=ChangeLog;h=0f017884cac503ef8b2efb9cb1dfc94820ef1c12;hb=529c3d57ef4bc2112d786e82d961691b803484ec;hp=cf24b5de3f4fb1916bcd0b6504e7157bba663a20;hpb=b6c0151e015f3c55ea21b03a752ea2183dfa682f;p=fw%2Fsdcc diff --git a/ChangeLog b/ChangeLog index cf24b5de..0f017884 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,351 @@ +2003-10-06 Bernhard Held + + * clean.mk: removed '=' in "-maxdepth=1" + +2003-10-06 Borut Razem + + * src/SDCC.lex, src/SDCC.lex: use dbuf for "_asm" definitions; + my_unput() replaced by unput() + +2003-10-05 Bernhard Held + + * src/SDCCloop.c (assignmentsToSym, loopInduction): cast argument of + setToNull() to (void *) to avoid gcc3.x's warning: "dereferencing + type-punned pointer will break strict-aliasing rules" + Old LR behaviour is again default; Klaus' LR can be choosen by + defining the environment variable LRKLAUS + * src/SDCCBBlock.h + * src/SDCCloop.c + * src/SDCClrange.c + * src/ds390/ralloc.c (spillThis): applied Klaus' patch + * clean.mk: fixed removal of files in bin/CVS/ + * device/lib/clean.mk: fixed removal of directories small and large + * support/Util/SDCCerr.c: changed W_INT_OVL to ERROR_LEVEL_PEDANTIC + * src/SDCCicode.c, + * src/SDCCval.c: removed superflous test for pedantic + +2003-10-05 Borut Razem + + * src/SDCC.lex, support/Util/SDCCerr.c, sdcc/support/Util/SDCCerr.h: + Fixed bug #816692: introduced new ERROR_LEVEL_PEDANTIC warning + message "unmatched #pragma SAVE and #pragma RESTORE" + +2003-10-04 Frieder Ferlemann + + * doc/sdccman.lyx: various additions and updates (interrupts, inline + assembly, critical functions, atomic, nojtbound) + +2003-10-04 Bernhard Held + + Applied liferange patch from Klaus Flittner + * src/SDCCBBlock.h + * src/SDCCloop.c + * src/SDCCloop.h + * src/SDCClrange.c + +2003-10-03 Erik Petrich + + * src/z80/gen.h, + * src/z80/gen.c (aopOp, aopGet, aopPut, genDummyRead), + * src/mcs51/gen.h + * src/mcs51/gen.c (aopOp, aopGet, aopPut, genDummyRead), + * src/ds390/gen.h + * src/ds390/gen.c (aopOp, aopGet, aopPut, genDummyRead), + * src/SDCCicode.c (ast2iCode, geniCodeDummyRead): Fixed bug #663539 + * src/SDCCopt.c (killDeadCode): Fixed bugs #663539 & #816705 + +2003-10-02 Erik Petrich + + * src/z80/gen.c (genRet): fixed bug #524753 + * src/z80/gen.c (genCast): fixed internal error on cast from + pointer to long + * src/z80/gen.c (_saveRegsForCall, emitCall): adapted Johan's + fix for bug #477835 to the z80 + * src/z80/gen.c (genZ80code, _vemit2, _emit2): added support + for tracking iCodes in the peephole optimizer for z80 + +2003-10-01 Erik Petrich + + * src/SDCCicode.c (geniCodeJumpTable, geniCodeSwitch): fixed + the other part of bug #814548 + * src/SDCCpeeph.c (labelInRange): fixed bug #814558 + +2003-09-30 Bernhard Held + + * src/SDCCcse.c: fixed part of bug #814548 + +2003-09-28 Borut Razem + + * src/asm.c: rewrite of printILine() to use temporary file instead + a pipe + * src/xa51/main.c: commented out declaration of int rewinds + +2003-09-27 Erik Petrich + + * src/SDCCicode.c (geniCodeJumpTable): Fixed bug #813206 + +2003-09-26 Erik Petrich + + * src/SDCCdflow.c (computeDataFlow): Fixed bug #810746 + * src/asm.c (printILine): Fixed bug #811015 + +2003-09-22 Jesus Calvino-Fraga + + *link/z80/lklibr.c, as/mcs51/lklibr.c: Improved memory allocation and + freeing. + +2003-09-21 Erik Petrich + + * src/z80/gen.c (setupToPreserveCarry): Fixed bug #796955 + * src/z80/gen.c (setupPair, genMovePairPair): Fixed setupPair + to correctly handle general case of AOP_PAIRPTR + * src/z80/gen.c (aopGet, aopPut): Generalized AOP_PAIRPTR handling + +2003-09-21 Erik Petrich + + * src/mcs51/ralloc.c (fillGaps), + * src/ds390/ralloc.c (fillGaps): fixed bug #810093 (yet another + register positioning bug) + +2003-09-21 Bernhard Held + + * device/lib/_fsdiv.c: replaced (1<<31) by (1ul<<31) + +2003-09-19 Erik Petrich + + * src/mcs51/gen.c (loadDptrFromOperand, genFarPointerGet, + genCodePointerGet, genGenPointerGet, genFarPointerSet, + genGenPointerSet): handle AOP_DPTR correctly when loading dptr + (ralloc doesn't intentionally do this now, but perhaps later) + * src/mcs51/ralloc.c (serialRegAssign, fillGaps), + * src/ds390/ralloc.c (serialRegAssign, fillGaps): fixed some + register positioning bugs (Fixed bug #762602 and #795325) + * src/SDCCicode.c (geniCodeDerefPtr): Track output class correctly + (Fixed bug #808779) + * src/z80/gen.c: increased _vemit2's buffer[] to handle long + lines that --i-code-in-asm generates + +2003-09-18 Jesus Calvino-Fraga + + *link/z80/lklibr.c, as/mcs51/lklibr.c: Fixed Linux segfaults when + trying to fclose a FILE* that was already closed. + +2003-09-18 Erik Petrich + + * src/SDCCsymt.c (structElemType): fixed bug #808291 (members + of const struct should be treated as if const themselves) + +2003-09-18 Bernhard Held + + * src/SDCCval.c (valPlus, valMinus): fixed bug #808337 + +2003-07-06 Jesus Calvino-Fraga + + * support/librarian/sdcclib.c: Generate correct offsets for libraries with + Unix (/n) and DOS (/r/n) line terminations. + +2003-09-17 Erik Petrich + + * src/SDCCopt.c (cnvFromFloatCast, cnvToFloatCast): fixed + bug #613775 + +2003-09-16 Erik Petrich + + * src/mcs51/gen.c (genFunction, genEndFunction), + * src/ds390/gen.c (genFunction, genEndFunction): Moved save + and restore of EA so that stack offsets to parameters are + correct when using both critical and reentrant/stack-auto. + * src/z80/gen.c (aopOp): removed erroneous assertion about sloc + size (can be triggered in error if sloc is shared between + different sized objects) + * device/include/float.h: fixed macros to explicitly use + unsigned long where needed + +2003-09-15 Bernhard Held + + Feature req. 799831: added code to allow nesting of critical functions + * src/mcs51/gen.c (genFunction, genEndFunction) + * src/ds390/gen.c (genFunction, genEndFunction) + +2003-09-14 Erik Petrich + + * src/SDCCsymt.c (sclsFromPtr), + * src/SDCCsymt.h, + * src/SDCCast.c (decorateType): fixed bug #462971. Also, better + support for standard C idiom of memory mapped variables; for + example, *((xdata int*)0x1234) = 1 is now internally equivalent + to xdata int at 0x1234 tempvar = 1. + * sim/ucsim/z80.src/inst_xd.cc: fixed bug #805483 with patch + provided by Akiya ISHIDA + +2003-09-13 Bernhard Held + + * src/SDCCval.c (cheapestVal): reenabled to reduce int to char + * src/SDCCval.c (constVal): added reduction from int to char + * src/SDCCval.c (valMult, valDiv): fixed sign handling + * src/SDCCval.c (valShift): fixed after change of cheapestVal() + * src/SDCCval.c (valCompare): fixed EQ_OP and NE_OP; they have + to ignore the sign + * support/regression/tests/shifts.c: fixed + +2003-09-13 Erik Petrich + + * src/z80/gen.c (genXor): Fixed bug #805445 + +2003-09-12 Erik Petrich + + Fixed bug #621531 (const & volatile confusion in the type chain). + DCL_PTR_CONST, DCL_PTR_VOLATILE, & IS_PTR_CONST now exclusively + refer to the const or volatile state of the pointer itself. + + * src/SDCCast.c + * src/SDCCglue.c + * src/SDCCicode.c + * src/SDCCsymt.c + * src/SDCCval.c + * src/SDCC.y + * src/SDCCsymt.h + * src/pic/gen.c + * src/pic/ralloc.c + * src/pic16/gen.c + * src/pic16/ralloc.c + * support/regression/tests/const.c + +2003-09-10 Jesus Calvino-Fraga + + When checking for duplicated modules, use absolute paths + instead of relative paths. Files changed: + + * as/mcs51/lklib.c + * link/z80/lklib.c + +2003-09-09 Erik Petrich + + * src/SDCCicode.c (geniCodeLogic): fixed bug #797572 + +2003-09-07 Erik Petrich + + * device/include/string.h: added size_t typedef, changed + prototypes to use size_t, eliminated separate reentrant and + non-reentrant declarations, added _memmove declaration + * device/lib/_memcpy.c: changed to use size_t instead of int, + changed /4 to >>2 to avoid division library call + * device/lib/_memcmp.c, + * device/lib/_memset.c, + * device/lib/_strncat.c, + * device/lib/_strncpy.c, + * device/lib/_strncmp.c: changed to use size_t instead of int + * device/lib/_memmove.c: new file (fixed bug #772294) + * device/lib/Makefile.in: added _memmove.c + * device/lib/z80/asm_strings.s: fixed bug #772290 + * support/regression/tests/bitfields.c: attempt to fix host assertion + failure on amd64-unknown-linux2.2 + +2003-09-06 Erik Petrich + + * src/z80/gen.c (aopPut, spillPairReg): fixed bug #800998 + * src/z80/gen.c (genFunction, genEndFunction): fixed "bug" #774700 + * as/z80/asmain.c (main): fixed bug #801766 + +2003-09-06 Bernhard Held + + * src/SDCCicode.c (ast2iCode): fixed differences in iCode with different + compilers + +2003-09-05 Erik Petrich + + * src/SDCCast.c (isConformingBody): fixed loop reversal bug + reported in bug #800609 + +2003-09-04 Vangelis Rokas + + * Top header beautifications in src/pic16 directory: + device.c, device.h, gen.c, gen.h, genarith.c, glue.c, pcode.c, + pcodeflow.c, pcodeflow.h, pcode.h, pcodepeep.c, pcoderegs.c, + pcoderegs.h, ralloc.c, ralloc.h + * main.c: added top header and GPL license notice + * pcode.c: fixed the if-conditional warning + +2003-09-04 Bernhard Held + + * device/lib/_mullong.c: replaced int by short for gcc + +2003-08-31 Erik Petrich + + * src/SDCCpeeph.c (notVolatile, notVolatileVariable): handle IFX + and JUMPTABLE iCodes properly now (worked by accident before) + * src/mcs51/gen.c (leftRightUseAcc), + * src/ds390/gen.c (leftRightUseAcc): handle IFX and JUMPTABLE + iCode properly now. Use getSize instead of nRegs since a & b + aren't part of the nRegs tally. + +2003-08-31 Vangelis Rokas + + * src/pic16/main.c: corrected offsets of interrupt vectors in _pic16_genIVT() + * src/pic16/pcode.c: fix to disable inserting BANKSEL directive + before instructions that use the _STATUS register + +2003-08-31 Bernhard Held + + * src/mcs51/gen.c (freeAsmop): fixed off by one in stack offset (AOP_STK) + * src/mcs51/gen.c (genNearPointerSet): added missing opcode for + fetching of the pointer + * src/mcs51/gen.c (genNearPointerGet): added reuse of PREG, + copied from genNearPointerSet() + * src/mcs51/gen.c (genNearPointerGet): don't pop r0/r1, if RESULTONSTACK + * src/mcs51/gen.c: changed order of freeAsmop(left/right/result)-calls. + If they pop r0/r1 they must be called in the opposite order than aopOp(). + * device/lib/_mullong.c: fixed for "--model-large --int-long-reent" + (resp. --stack-auto), prepared for --xstack + +2003-08-28 Frieder Ferlemann + + * doc/sdccman.lyx: reverted tables to those in cvs 1.64 + +2003-08-28 Bernhard Held + + * device/lib/_startup.c: quick & dirty fix for ds390/ds400; + these ports have their own __sdcc_external_start() + +2003-08-26 Bernhard Held + + pic patch provided by Slade Rich + * src/pic/glue.c (pic14printPublics): fixed bug introduced when symbol + type for bits was changed. It resulted in bit variables becoming + global, which is not permitted in PIC 14 assembly output. + +2003-08-23 Frieder Ferlemann + + * doc/sdccman.lyx: various additions and updates. Rearranged sections + +2003-08-22 Jesus Calvino-Fraga + + Z80 and MCS51 linkers complaint if a public symbol is defined + in more than one library module: + + * as/mcs51/lklib.c + * link/z80/lklib.c + * as/mcs51/Makefile.in + +2003-08-22 Erik Petrich + + A few small changes that speed up the peephole optimizer. + + * src/SDCCpeeph.c + +2003-08-22 Erik Petrich + + Try to make the peephole optimizer smarter by maintaining + an association between the assembly source code and the + iCodes that originated them. Put this information to use + with a new peephole rule condition "notVolatile" so that + the rules can be aggressive yet still safe. + + * src/SDCCpeeph.c + * src/SDCCpeeph.h + * src/mcs51/gen.c + * src/mcs51/peeph.def + 2003-08-20 Erik Petrich Fixed bug #741761 @@ -73,7 +421,7 @@ Rules 246.x, 247.x relate to bitfields, the others speed up access to xdata mapped I/O devices. - * src/mcs51/peeph.def: added 26 peepholes 246.x - 248.x, 180.x + * src/mcs51/peeph.def: added 26 peepholes 246.x - 248.x, 180.x 2003-08-16 Erik Petrich @@ -1161,7 +1509,7 @@ An sfr/sbit can have an "at #" AND an initializer * src/SDCCsymt.c (checkSClass): * src/SDCCmem.c (allocGlobal): - * src/SDCCmem.c (allocLocal): + * src/SDCCmem.c (allocLocal): * src/SDCCast.c (createBlock): 2003-03-17 Bernhard Held