X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=ChangeLog;h=b1b72ff2ee33ab86132f2b6aaf6e3504ada7ea1d;hb=4feac4f3a6ef7546d9e8f67441d36fdf940bb03f;hp=9fc2dafeefb6a55511d87e5f4f81b123322f4add;hpb=88552fdbaeb818d914b6779bcea5ff396654ce1d;p=fw%2Fsdcc diff --git a/ChangeLog b/ChangeLog index 9fc2dafe..b1b72ff2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,417 @@ +2006-02-08 Maarten Brock + + * support/regression/ports/mcs51-xstack-auto/spec.mk: forgot -I(...)/mcs51 + * all.dsp: corrected several bin paths + * device/include/mcs51/c8051f120.h, + * device/include/mcs51/c8051f300.h, + * device/include/mcs51/c8051f310.h: used () with __at and renamed IDLE,STOP + to PCON_IDLE,PCON_STOP + * device/include/mcs51/c8051f320.h: see above, also added sfr16 definitions + * device/lib/printf_large.c (output_float): fixed bug 1388703 + * support/regression/tests/bug1057979.c: added test for bug 1388703 + + +2006-02-08 Raphael Neider + + * src/pic/pcode.c (pciTRIS): fixed typo, + (BuildFlow,LinkFlow_pCode): added (disabled) debug output, + (LinkFlow): fixed handling of flows that end in a call, + (ReuseReg): perform safety check earlier + * src/pic/pcoderegs.c (pCodeRegMapLiveRangesInFlow): fixed + to work with flows at the beginning of a pBlock, + fixes #1426557 (Symbol not previously defined), + (pic14_ReMapLiveRanges): NEW, destroy and rebuild register + usage information + (RemoveUnusedRegisters): update register usage info + * src/pic/ralloc.c (newReg): prevent duplicate registers from being + created, reuse existing ones instead + * src/pic/gen.c (genPcall): fixed #1424719 + +2006-02-01 Borut Razem + + * src/regression/add.c, src/regression/add2.c, src/regression/add3.c, + src/regression/add4.c, src/regression/and1.c, src/regression/and2.c, + src/regression/arrays.c, src/regression/b.c, src/regression/bank1.c, + src/regression/bool1.c, src/regression/bool2.c, + src/regression/bool3.c, src/regression/call1.c, + src/regression/compare.c, src/regression/compare10.c, + src/regression/compare2.c, src/regression/compare3.c, + src/regression/compare4.c, src/regression/compare5.c, + src/regression/compare6.c, src/regression/compare7.c, + src/regression/compare8.c, src/regression/compare9.c, + src/regression/configword.c, src/regression/for.c, + src/regression/inline.c, src/regression/mult1.c, + src/regression/nestfor.c, src/regression/or1.c, + src/regression/pointer1.c, src/regression/ptrfunc.c, + src/regression/rotate1.c, src/regression/rotate2.c, + src/regression/rotate3.c, src/regression/rotate4.c, + src/regression/rotate5.c, src/regression/rotate6.c, + src/regression/rotate7.c, src/regression/string1.c, + src/regression/struct1.c, src/regression/sub.c, + src/regression/sub2.c, src/regression/switch1.c, + src/regression/while.c, src/regression/xor.c, + src/regression/create_stc, src/regression/simulate, + src/regression/rt.sh, src/regression/Makefile: reenabled Scott's PIC14 + regression tests + * src/regression/gpsim_assert.h: added + +2006-01-28 Bernhard Held + + * src/ds390/gen.c (unsaveRegisters): fixed literal function pointer + ((void (code *) (void)) 0) (); + * as/hc08/aslex.c, + * as/hc08/aslink.h, + * as/hc08/asm.h, + * as/hc08/asmain.c, + * as/hc08/lkdata.c, + * as/hc08/lklex.c, + * as/hc08/lkmain.c, + * as/mcs51/aslex.c, + * as/mcs51/aslink.h, + * as/mcs51/asm.h, + * as/mcs51/asmain.c, + * as/mcs51/lkdata.c, + * as/mcs51/lklex.c, + * as/mcs51/lkmain.c, + * as/z80/aslex.c, + * as/z80/asm.h, + * as/z80/asmain.c: fixed build on current cygwin: + replaced getline() by as_getline() + +2006-01-27 Bernhard Held + + * src/SDCC.y: fixed bug #716242, exchanged pointer and function + declarator in the symbol chain + * src/SDCCsymt.h, + * src/SDCCsymt.c (processFuncPtrArgs): added, removes "(void)" + parameter list for function pointers + * src/SDCCast.c (decorateType): added call of processFuncPtrArgs() + * support/regression/tests/bug-716242.c: added + +2006-01-20 Bernhard Held + + * src/SDCCicode.c (geniCodeAdd, geniCodeArray): use char for array + offset if possible + * src/SDCCast.c (getLeftResultType): 255 fits in char, not 256 + +2006-01-18 Bernhard Held + + * src/SDCCast.c (backPatchLabels): fixed bug #1408066: made it + inifinitely recurseable, added static + * support/regression/tests/bug-1408066.c: added + +2006-01-17 Bernhard Held + + * src/SDCCicode.h, + * src/SDCCicode.c (newiTempPreheaderLabel, newiTempLoopHeaderLabel): + renamed, added possibility to create "postLoopLbl"-labels + * src/SDCCBBlock.c (iCodeBreakDown): renamed newiTempPreheaderLabel to + newiTempLoopHeaderLabel + * src/SDCCloop.c (newInduction, newRegion, backEdges, insertIntoLoop, + isNotInBlocks, addToExitsMarkDepth, createLoop, dominatedBy, + addDefInExprs, assignmentsToSym, isOperandInvariant, pointerAssigned, + hasNonPtrUse, loopInvariants, addressTaken, findInduction, + findDefInRegion, mergeRegions, ifMerged, mergeInnerLoops): made static, + (pinduction, pregion, hasIncomingDefs, findLoopEndSeq): disabled, + (basicInduction): fixed bug #136564, made static, + (loopInduction): changed parameter of basicInduction, made static, + (addPostLoopBlock): added + * src/SDCCloop.h: removed backEdges, pregion, pinduction, + loopOptimizations, addressTaken, findDefInRegion, hasIncomingDefs, + findLoopEndSeq + * support/regression/tests/bug-136564.c: added + * support/regression/ports/mcs51-xstack-auto/spec.mk: added + --std-sdcc99 to LIBSDCCFLAGS + +2006-01-16 Bernhard Held + + * src/SDCCicode.c (geniCodeIfx): fix bug 1406131: always false + while loop + * support/regression/tests/bug-1406131.c: added + +2005-12-31 Bernhard Held + + * src/SDCCast.c (decorateType): fix promotion of unary minus + * src/SDCCsymt.c (computeType): beautified + * src/SDCCval.c (cheapestVal): beautified, old non-Ansi version removed, + (valUnaryPM, valComplement): fix sign and promotion, + (valNot): ANSI: result type is int (SDCC: unsigned char) + * support/regression/tests/uminus.c: speedup by removing superflous + test case 'int' + * support/regression/tests/onebyte.c: added promotion and signedness + tests for unary minus + * support/regressions/tests/bug-477927.c: disable warning about + uninitialized variables + * support/regression/tests/not.c: added + +2005-12-28 Bernhard Held + + * device/lib/Makefile.in: added --std-sdcc99 to CFLAGS + * src/mcs51/gen.c (gen51Code): show final register usage after + fillGaps in asm with --i-code-in-asm + * src/SDCClrange.c (sequenceiCode, setLiveFrom, setLiveTo, + markLiveRanges, markAlive, findNextUseSym, findNextUse, unvisitBlocks, + incUsed, rliveClear, adjustIChain): made static, + (setFromRange): excluded because it's unused, + (findPrevUseSym, markWholeLoop): added, + (findPrevUse): rewritten; fixes bug 895992; now a complete search + through all branches of predecessors enables sdcc to emit the warning + W_LOCAL_NOINIT, marking of outermost loop was incomplete, + (rlivePoint): made static, added parameter emitWarnings which is only + true during the first run out of two, + (findRecursiveSucc, findRecursivePred): removed, + (computeLiveRanges): made static, added parameter emitWarnings, + (dumpIcRlive): added for debugging only + * src/SDCClrange.h: added boolean parameter to computeLiveRanges(), + removed prototype of setFromRange() + * src/SDCCopt.c (eBBlockFromiCode): added new parameter emitWarnings + in call of computeLiveRanges() + * support/regression/tests/bug-895992.c: added + * support/regression/tests/bug-971834.c: added + * support/valdiag/tests/bug-895992.c: added + * support/valdiag/tests/bug-971834.c: added + +2005-12-18 Raphael Neider + + * src/pic16/gen.c: added IS_DIRECT macro for "direct" operands, + (genUnpackBits): improved code for direct operands, + (genPackBits): improved code for literal assignment to bitfields + and for direct destination operands (no FSR indirection), + prevented redundant AND, fixes #1362800, + (AccLsh): added parameter to disable masking of the result + * src/pic16/pcode.c (pic16_safepCodeUnlink): fixed to work with + skip instructions with side-effects (like incfsz), + (pic16_pCodeIsAlive): suppress verbose output unless pcode_verbose, + * src/pic16/pcoderegs.c (RemoveRegsFromSet): removed annoying warning + * device/lib/pic16/Makefile.common.in: added --asm=@GPASM@ to CC, + fixes #1375263 + +2005-12-11 Bernhard Held + + * src/SDCCicode.c (geniCodeAssign): fixed bug 11369874, don't use + volatile variables as spill location + +2005-12-10 Bernhard Held + + * src/SDCCcse.c (findCheaperOp): fixed bug 1376320, copy signedness to + replacing literals + * support/regression/tests/bug-1376320.c: added + +2005-12-08 Raphael Neider + + * src/pic/device.c: renamed is_shared to pic14_is_shared + * src/pic/gen.c (genIfx): re-enabled handling of sbits + * src/pic/glue.c (emitSymbolToFile): added workaround for sbits, + (is_valid_identifier): added for above workaround + +2005-12-07 Maarten Brock + + * device/lib/Makefile.in: fixed to enable port-specific-objects + * device/lib/ds390/i2c390.c (BitOutI2C): optimized by making bout unsigned + char, thanks Hubert Sack + * doc/sdccman.lyx: documented --xstack-loc, + elaborated a bit more on interrupts and pitfalls, + removed "setjmp/longjmp unsupported", + documented some unsupported C99 features + * src/SDCCmain.c (linkEdit): adapted default lib path for --stack-auto + * src/SDCCpeeph.c (readRules): inserted patch 1367130 for finding missing + if, thanks Hubert Sack + * src/mcs51/gen.c (genEndFunction): enabled "pop psw" for regbank 0 isr + * support/regression/Makefile.in: test-mcs51-stack-auto no longer needs to + make make_library + * support/regression/get_ticks.py: new, get cpu cycles and code size, so + regression tests can report resource usage (rfe 700441) + * support/regression/collate-results.py: report resource usage + * support/regression/ports/ds390/spec.mk, + * support/regression/ports/hc08/spec.mk, + * support/regression/ports/mcs51/spec.mk, + * support/regression/ports/ucz80/spec.mk: run sim output through get_ticks + * support/regression/ports/ds390/uCsim.cmd, + * support/regression/ports/hc08/uCsim.cmd, + * support/regression/ports/mcs51/uCsim.cmd, + * support/regression/ports/ucz80/uCsim.cmd: inserted "state" to report time + * support/regression/ports/mcs51-stack-auto/spec.mk: no need to build the + library, use the default one + * support/regression/ports/mcs51-xstack-auto/spec.mk: inserted rules for + building the library + +2005-12-06 Maarten Brock + + * config.dsp: added dependency on .version and configure_vc.awk + * device/include/setjmp.h: updated for --stack-auto and --xstack + * device/include/mcs51/at89c51snd1c.h: corrected line endings + * device/include/mcs51/XC866.h: added, thanks Llewellyn van Zyl + * device/lib/_setjmp.c: updated for --stack-auto and --xstack + * device/lib/libsdcc.lib: added _setjmp + * src/SDCCast.c (createIvalCharPtr): fixed warnings, + (decorateType): fixed bug 1372851, + (optimizeGetHbit): fixed warning + * src/SDCCglue.c (printIvalChar, printIvalArray): adapted for flexible + array initialisation + * support/regression/tests/bug1057979.c: added test for bug 1358192 + * support/regression/tests/setjmp.c: added, test for setjmp/longjmp + +2005-12-03 Borut Razem + + * support/scripts/sdcc.nsi: added /SOLID option to "SetCompressor lzma" + command since the NSIS was upgraded to version 2.11 on CF x86-linux2 + +2005-11-29 Bernhard Held + + * src/SDCCast.c (createIvalStruct, createIvalArray, createIvalPtr, + createIval): implement symbol independant "flexible array member", + (createIvalCharPtr): implemented flexible array initialisation with a + string + * src/SDCCsymt.c (copyStruct): removed, + (getSize): fixed misleading comment, + (getAllocSize): removed, the additional allocation size is now in + sym->flexArrayLength, + (checkStructFlexArray): new, syntax checks for flexible array members, + (compStructSize): added syntax checks for "flexible array members" + (copyStruct): removed, + (copyLinkChain): removed inefficient fix for bug 770487 + * src/SDCCglue.c (emitRegularMap): getAllocSize has been removed + * src/SDCCsymt.h: added structdef.b_flexArrayMember and + symbol->flexArrayLength + * src/SDCCerr.c, + * src/SDCCerr.h: added W_INVALID_FLEXARRAY, W_C89_NO_FLEXARRAY, + E_FLEXARRAY_NOTATEND and E_FLEXARRAY_INEMPTYSTRCT + * support/regression/tests/structflexarray.c: added + * support/valdiag/tests/structflexiblearray.c: added + +2005-11-29 Bernhard Held + + * src/SDCCast.c (decorateType): fixed bug 1368489 + * support/Util/SDCCerr.c, + * support/Util/SDCCerr.h: added warning W_CMP_SU_CHAR + +2005-11-28 Frieder Ferlemann + + * device/include/mcs51/at89c51snd1c.h: added file submitted by + Weston T. Schmidt , patch #1368001 + +2005-11-27 Borut Razem + + * support/cpp2/cppinit.c, support/cpp2/cpplib.h, support/cpp2/mkdeps.c, + support/cpp2/mkdeps.h: added command line option + -obj-ext= to SDCPP to define object file externion, used + for generation of make dependencies (-M) + * src/SDCCmain.c: pass -obj-ext= to SDCPP + +2005-11-26 Borut Razem + + * support/scripts/sdcc.nsi: added small-stack-auto libraries, + added missing device/lib/mcs51/crt*.asm, pic and pic16 sources, + added pic and pic16 libraries + +2005-11-26 Jesus Calvino-Fraga + + * device/include/float.h: Corrected typo in prototype of __fsgt + +2005-11-25 Borut Razem + + * sdcc/device/lib/Makefile.in, sdcc/device/lib/incl.mk: + added creation of model-mcs51-stack-auto libraries + +2005-11-24 Bernhard Held + + * src/SDCCsymt.c (copyLinkChain): fixed bug 770487, copy structdef + and fields-list too + * src/SDCCast.c (createIvalArray): removed obsolete comment + +2005-11-24 Borut Razem + + * sdcc/device/lib/Makefile.in: remove all unnecessary files, 2nd try..., + added missing device/lib/mcs51/crt*.asm sources + +2005-11-23 Bernhard Held + + * src/SDCCast.c (createIvalCharPtr): fixed bug 1348271 + +2005-11-22 Maarten Brock + + * device/lib/_fs2schar.c, + * device/lib/_fs2sint.c, + * device/lib/_fs2slong.c: optimized inline asm + +2005-11-21 Jesus Calvino-Fraga + + * device/lib/_fs2slong.c, device/lib/_fs2sint.c, device/lib/_fs2char.c: + Better handling of floats between -1.0 and 0.0. + +2005-11-20 Frieder Ferlemann + + * src/mcs51/peeph.def: added missing "if"s as noted by Hubert Sack. + (the missing "if"s prohibited removal of redundant labels) + +2005-11-19 Jesus Calvino-Fraga + + * device/lib/_fs2slong.c, device/lib/_fs2sint.c, device/lib/_fs2char.c: + Properly convert floats between -1.0 and 0.0 to long, int, and char + types (max integer value of negative floats tends to zero). + * device/lib/modff.c, device/lib/ceilf.c, device/lib/floorf.c: + Removed changes made so to work properly with floats between + -1.0 and 0.0, as the problem is fixed in _fs2slong.c, _fs2sint.c, + and _fs2char.c + +2005-11-18 Bernhard Held + + * src/SDCCcse.c (ReplaceOpWithCheaperOp): minor fix for debugging only + * src/mcs51/gen.c (genUnpackBits): better code and a fix, + (genCast) cosmetic change + * src/ds390/gen.c (genUnpackBits, ): ported from mcs51 + * src/ds390/ralloc.c (packRegsForAssign): ported fix for bitfields + from mcs51 + * support/regression/tests/bitfields (testSignedBitfields): added + +2005-11-18 Borut Razem + + * sdcc/device/lib/Makefile.in: remove all unnecessary files + * device/lib/pic/Makefile.rules, device/lib/pic16/Makefile.subdir: + introduced SILENT option to make building of pic16 libraries less + +2005-11-18 Jesus Calvino-Fraga + + * device/lib/modff.c, device/lib/ceilf.c, device/lib/floorf.c: + Now they work properly with floats between -1.0 and 0.0 + * device/lib/printf_large.c: Removed temporary patch for bug 1358192 + +2005-11-18 Maarten Brock + + * src/SDCCicode.c (printOperand): added missing else + +2005-11-18 Bernhard Held + + * src/SDCCsymt.c (computeType): fixed bug 1358192: added missing else, + reformatted for better readability + * src/mcs51/gen.c (genUnpackBits): initial, incomplete support for + signed bitfields + +2005-11-17 Borut Razem + + * device/lib/pic16/Makefile.rules, device/lib/pic16/Makefile.subdir: + introduced SILENT option to make building of pic16 libraries less + verbose - used for nightly snapshot build + * doc/sdccman.lyx: documented that SDCDB and ucSim are currently not + available on Win32 platforms. + * sdcc/device/lib/Makefile.in: added library sources for mcs51, small, + medium, large, pic and pic16 + +2005-11-16 Jesus Calvino-Fraga + + * device/lib/printf_large.c: Temporary patch for bug 1358192: + printf("%f"...) sets fraction to zero. + +2005-11-16 Raphael Neider + + * src/pic/pcode.c (LinkFlow): handle empty flows correctly, + fixes #1357221 + * src/pic/gen.c (genIfx): implemented for CARRY bit + * src/pic16/gen.c (genAssign,genCast): fixed assigning/casting + to generic pointers, fixes #1357332, + (pic16_movLit2f): NEW, + (pic16_storeForReturn,genDataPointerSet): use pic16_movLit2f + 2005-11-14 Maarten Brock * src/SDCCmain.c (parseCmdLine): fixed bug 1356800, thanks rsudjian