X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=ChangeLog;h=c620a1a01ac63ae1e2fe6d2df9e923a5794b94f4;hb=0694926e60ec83b31f87590e601f7e0d8f86c512;hp=70fe287297f733d476792a8fb47b506d9b83053e;hpb=f754f67b0e6bdbc252b7a88ba83f919a8f48c966;p=fw%2Fsdcc diff --git a/ChangeLog b/ChangeLog index 70fe2872..c620a1a0 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,584 @@ +2003-12-01 Erik Petrich + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + 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 + + 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 + + * src/SDCCloop.c (newInduction): fixed bug #845630 + +2003-11-21 Erik Petrich + + * src/SDCCsymt.c (compareTypesExact): disabled debugging output + inadvertantly left behind from my 2003-11-12 change + +2003-11-20 Erik Petrich + + Updated headers I neglected to commit yesterday. + * src/SDCClrange.h, + * src/SDCCicode.h + +2003-11-19 Erik Petrich + + * src/SDCCcse.c (algebraicOpts): fixed bug #773153 + * 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 + earlier (for some GCSE bug fixes still pending) + +2003-11-15 Frieder Ferlemann + + * src/mcs51/gen.c (genPlus): generate shortcut for adding 0xab00 + * support/regression/tests/addsub.c: testing genPlus shortcut + +2003-11-15 Borut Razem + + * src/SDCCmain.c: fixed bug #841645: -MM command line option passed to sdcpp + +2003-11-15 Erik Petrich + + * src/SDCCcse.c (cseBBlock): fixed bug #527779 + * src/SDCCcse.c (deleteGetPointers): rewrote so that the set + ordering is immaterial. + * src/SDCCdflow.c (mergeInExprs): fixed bug #587536 + +2003-11-14 Erik Petrich + + * src/SDCCicode.c (geniCodeAddressOf): fixed part of bug #840381 + * src/SDCCopt.c (replaceRegEqv, isLocalWithoutDef): fixed other part + (SIGSEV) of bug #840381 + * src/SDCCmain.c (linkEdit, assemble): fixed bug #841606 (don't + unlink new file before rename if new and old filenames are the same) + +2003-11-13 Frieder Ferlemann + + * src/mcs51/main.c: started fixing bug #737001 (SDCC not clearing + uninitialized variables) for the mcs51. Set environment variable + SDCC_GENRAMCLEAR to test. + xdata initialization slightly shorter + +2003-11-12 Erik Petrich + + * src/SDCCsymt.h, + * src/SDCCsymt.c (addSymTypeChain, compareTypesExact): fixed bugs + #838241 & 780691 (basicly the same bug) + * src/SDCCBBlock.c (iCode2eBBlock): fixed bug #840148 + * src/SDCCBBlock.c (iCodeFromeBBlock): fixed bug #840162 + +2003-11-11 Bernhard Held + + * src/SDCCmain.c (linkEdit): "fix" #834252 + +2003-11-11 Erik Petrich + + * src/SDCCast.c (removePostIncDecOps, removePreIncDecOps), + * src/SDCCast.h, + * src/SDCC.y: fixed bug #819403 + +2003-11-08 Erik Petrich + + * support/regression/fwk/lib/testfwk.c: printn is recursive and thus needs + the reentrant attribute. + * src/hc08/gen.c (genPackBits): added missing stack readjustment + * sim/ucsim/hc08.src/inst.cc (inst_mov): fixed bugs with mov instruction + simulation + * src/SDCCast.c (decorateType): fixed bug with storage class not being + updated during pointer dereference; f.e. ~(((char *)1)*) was being + erroneously reduced to a literal. + * src/hc08/ralloc.c (packRegisters, rematStr), + * src/hc08/gen.c (aopForRemat): allow literals to be rematerialized in + some cases + +2003-11-08 Frieder Ferlemann + + * src/mcs51/main.c: fixed bug #838385. Thanks to Josef Pavlik for finding and fixing + * doc/sdccman.lyx: changed from 'article' to 'book' + * doc/Makefile: readded test_suite_spec and cdbfileformat + +2003-11-08 Bernhard Held + + * device/include/stdlib.h: include malloc.h to comply with ANSI + * support/regression/tests/malloc.c: include stdlib.h instead of malloc.h + +2003-11-07 Frieder Ferlemann + + * doc/Makefile: sdccman.pdf should build with correct references (more info in commit msg) + * doc/clean.mk: also remove *.out files + * doc/sdccman.lyx: some additions, larger top/bottom margins + +2003-11-07 Erik Petrich + + * src/SDCC.y: fixed bug #837365 + * support/regression/tests/bitopcse.c + * src/hc08/gen.c (genPointerGet): Don't assume pointer operand is + a symbol (might be valop instead) + * device/lib/Makefile.in: added errno.c to HC08SOURCES + * device/lib/clean.mk: added hc08 to the cleaning list + +2003-11-04 Borut Razem + + * configure, configure.in, sdcc_vc_in.h, sdcconf_in.h: reverted changes, + made 2003-11-04 + * support/Util/NewAlloc.c, as/hc08/lklibr.c, as/mcs51/lklibr.c, + as/z80/aslist.c, as/z80/assym.c: removed inclusion of nonstandard malloc.h; + malloc is declared in standard stdlib.h + +2003-11-06 Erik Petrich + + * device/lib/hc08/Makefile: need to clean .rel not .o files + * src/hc08/gen.c (genDjnz): can't use djnz with extended addressing mode + +2003-11-06 Erik Petrich + + * src/port.h, + * src/hc08/main.c, + * src/mcs51/main.c, + * src/ds390/main.c, + * src/z80/main.c, + * src/avr/main.c, + * src/pic/main.c, + * src/pic16/main.c, + * src/xa51/main.c: added hasExtBitOp & oclsExpense functions to ports + * src/SDCCicode.c: changed several IS_FARSPACE tests to isOclsExpensive + tests (which uses the port's oclsExpense function) + * src/SDCC.y, + * src/SDCCast.c, + * src/SDCCicode.c, + * src/hc08/gen.c, + * src/ds390/gen.c, + * src/mcs51/gen.c: added support for the SWAP iCode (RFE #834167) + +2003-11-04 Erik Petrich + + * src/SDCCcse.c (ifxOptimize), + * src/SDCClabel.c (labelIfx, deleteIfx): When the condition to + an IFX iCode is volatile, convert to DUMMY_READ_VOLATILE instead + deleting the IFX iCode. + * src/hc08/ralloc.c: reduced unneeded slocs + * src/hc08/gen.c: fixed bug in asmopToBoolean + +2003-11-04 Borut Razem + + * configure, configure.in, sdcc_vc_in.h, sdcconf_in.h, + support/Util/NewAlloc.c, as/hc08/lklibr.c, as/mcs51/lklibr.c, + as/z80/aslist.c, as/z80/assym.c: decision to include malloc.h + transferred to configure + +2003-11-03 Bernhard Held + + Use headers defined in the C[++] standards: + * sim/ucsim/gui.src/serio.src/fileio.cc + * sim/ucsim/gui.src/serio.src/frontend.cc + * sim/ucsim/gui.src/serio.src/main.cc + * sim/ucsim/gui.src/serio.src/posix_signal.cc + * support/Util/NewAlloc.c + * as/hc08/lklibr.c + * as/mcs51/lklibr.c + * as/z80/aslist.c + * as/z80/assym.c + +2003-11-03 Jesus Calvino-Fraga + + * Added MSVC projects for hc08 assembler and linker: + all.dsp, config.dsp, sdcc.dsw, /as/hc08/as_hc08.dsp, + /as/hc08/link_hc08.dsp + +2003-11-03 Martin Helmling + + * debugger/mcs51/cmd.c: allows filename starting with digit(+ some debug) + +2003-11-02 Bernhard Held + + * src/SDCCmain.c (linkEdit): "fixed" again bug #833605 + +2003-11-01 Frieder Ferlemann + + * src/mcs51/main.c: xdata initialization is 13 bytes shorter now + +2003-10-31 Borut Razem + + * support/cpp2/cpplib.h, + support/cpp2/cpplib.c, + support/cpp2/cpplex.c, + support/cpp2/cppinit.c: introduced #pragma preproc_asm [ + | - ] + to switch _asm block preprocessing on / off. Default is + #pragma preproc_asm + + +2003-10-31 Borut Razem + + * support/cpp2/cpplex.c: Fixed _WIN32 problem with CR-CR-LF sequences + when outputting comment blocks (when executed with -C option) and + _asm (SDCPP specific) blocks + +2003-10-31 Erik Petrich + + * as/hc08/lkrloc.c (relr): Fixed ihx output, fixed lastAreaIndex warning + +2003-10-31 Klaus Flittner + + * src/SDCCcse.c (updateSpillLocation): fixed bug #808027 + +2003-10-31 Bernhard Held + + * src/SDCCmain.c (linkEdit): "fixed" bug #833605 + * src/SDCCast.c (decorateType): fixed bug #832664 + +2003-10-31 Borut Razem + + * support\cpp2\cpplex.c: fixed for SDCPP: + comments(when executed with -C option) and _asm blocks + were included even if they where in skipped #if block. + Applied solution from GCC cpp 3.3.2 + +2003-10-31 Borut Razem + + * src/SDCC.lex: sdcc now understands both formats: + '# ' and + '#line ' + * support/cpp2/cppmain.c: sdcpp now generates the standard + '# ' instead of former + '#line ' + +2003-10-30 Borut Razem + + * support/cpp2/cpphash.h, + * support/cpp2/cpplib.h + * support/cpp2/cpplex.c, + * support/cpp2/cppmain.c, + * support/cpp2/cppinit.c: fixed bug #828015 - Syntax variation for _asm character constants + +2003-10-30 Erik Petrich + + Fixed a number of problems revealed by bug #827883. + * src/SDCCloop.c (loopInvariants): Spill location of the + result operand should be recomputed if extracted from + a loop. Also, don't extract assignments of an iTemp + from a literal. + * src/SDCCast.c (isConformingBody): loop reversal should + not occur if the control variable is involved with a + relational operator. + +2003-10-28 Bernhard Held + + * .version: bumped to 2.3.6 to reflect the big improvements + made by Erik and Klaus. Thanks! + +2003-10-28 Klaus Flittner + + Replaced the livrange code. + * src/SDCClrange.c: added new LR code + * src/SDCCloop.c, + * src/SDCCBBlock.h: removed remainig parts from old LR code + * src/ds390/ralloc.c, + * src/ds390/gen.c: minor fixes to make it work with new code + +2003-10-28 Erik Petrich + + * as/hc08/asm.h, + * as/hc08/lkrloc.c, + * src/hc08/gen.c, + * src/hc08/ralloc.c: Fix various warnings related to the hc08 + * src/SDCCicode.c (geniCodePreInc, geniCodePreDec): Fixed bug #829717 + (tweaked fix for bug #818696) + +2003-10-23 Erik Petrich + + * src/z80/ralloc.c (joinPushes): Fixed bug #828742 + +2003-10-23 Erik Petrich + + * src/SDCCmain.c, + * sdccconf_in.h: Fixed bug #828387 (--disable-hc08-port didn't work) + * src/mcs51/gen.c (gencjneshort), + * src/ds390/gen.c (gencjneshort): Made comparison with AOP_IMMD operand + more efficient (per Scott Bronson's suggestion) + +2003-10-22 Erik Petrich + + Extended the semantics of the critical keyword to include + individual statements. See RFE #827755 and #799831 + * src/SDCC.y + * src/SDCCicode.c + * src/SDCCopt.c + * src/SDCCast.c + * support/Util/SDCCerr.c + * support/Util/SDCCerr.h + * src/mcs51/gen.c + * src/ds390/gen.c + * src/hc08/gen.c + +2003-10-19 Borut Razem + + * src/SDCC.lex: fixed bug #825944 - defined yytext_ptr to make it compile with flex 2.5.31 + +2003-10-19 Erik Petrich + + * src/SDCCicode.c (geniCodePreInc, geniCodePreDec, ast2iCode): + Fixed bug #818696 + * src/SDCCast.c (ast_print): Fixed --dumptree so that preincrement + and predecrement operand is displayed + +2003-10-13 Bernhard Held + + * src/SDCCval.c (valMinus): fixed bug #826041 + +2003-10-15 Erik Petrich + + Some hc08 related updates that I missed earlier + * sim/ucsim/stypes.h + * support/regression/ports/hc08/spec.mk + +2003-10-15 Erik Petrich + + New target "hc08" for the Motorola 68hc08 family of micros + + * configure + * configure.in + * Makefile + * src/hc08/* + * src/SDCCmain.c + * src/port.h + * sim/ucsim/hc08.src/* + * sim/ucsim/configure.in + * src/ucsim/configure + * sim/ucsim/packages_in.mk + * as/hc08/* + * as/Makefile + * device/include/mc68hc908qy.h + * device/lib/hc08/* + * device/lib/Makefile.in + * support/regression/ports/hc08/* + * support/regression/Makefile + +2003-10-14 Erik Petrich + + * src/z80/gen.c: fixed bug revealed by ast_constant_folding.c + regression test + * src/ds390/gen.c (genCast): fixed bug #821957 + +2003-10-13 Bernhard Held + + * device/lib/logf.c: "fixed" overlay bug + * support/regression/ports/host/spec.mk: added m library + * support/regression/ports/mcs51-stack-auto/spec.mk: added float funcs + * support/regression/tests/float_trans: added (for Eric) + +2003-10-12 Bernhard Held + + * src/mcs51/gen.c (genCpl): fixed bug + http://sf.net/mailarchive/message.php?msg_id=6263915 + +2003-10-10 Bernhard Held + + * src/SDCCast.c (decorateType): added extended constant folding + * src/SDCCsymt.c (computeType): cleanup + * src/SDCCval.c (valShift): minor optimization + * support/regression/tests/ast_constant_folding.c: added + +2003-10-09 Erik Petrich + + * src/SDCCmain.c: removed some unintended changes + +2003-10-09 Erik Petrich + + * src/SDCCmain.c (setParseWithComma): fixed bug #816685 + * src/z80/gen.c: fixed part of bug #817589 + * src/SDCCsymt.c (checkFunction): fixed bug #817895 + +2003-10-08 Bernhard Held + + Replaced cast (void **) with (void *) to avoid gcc 3 warning: + * src/SDCCcflow.c + * src/SDCCcse.c + * src/SDCCdflow.c + * src/SDCClabel.c + * src/SDCClrange.c + * src/SDCCmem.c + * src/SDCCopt.c + * src/SDCCpeeph.c + * src/SDCCset.c + * src/avr/ralloc.c + * src/ds390/ralloc.c + * src/izt/ralloc.c + * src/mcs51/ralloc.c + * src/pic/ralloc.c + * src/pic16/ralloc.c + * src/xa51/ralloc.c + * src/z80/ralloc.c + * src/z80/gen.c: removed unused label "release:" + +2003-10-06 Borut Razem + + * src/SDCC.lex: removed definition of unused variables + save_optimize and save_options + +2003-10-06 Bernhard Held + + * clean.mk: removed '=' in "-maxdepth=1" + * src/SDCCloop.c: replace LRKLAUS with SDCC_LRKLAUS + * src/SDCClrange.c: replace LRKLAUS with SDCC_LRKLAUS + +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