X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=ChangeLog;h=0a32df8585cc574161e6d9db535f51fd2f329b4f;hb=f542e052f62b7dcf19a6ea79496237fc9a339032;hp=fd1be24ffcf27f7d9ffee6d014b9df565dd0b26b;hpb=fb74a03ff93bacd76cefb2ae0d853a6cb1c4a99e;p=fw%2Fsdcc diff --git a/ChangeLog b/ChangeLog index fd1be24f..0a32df85 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,1582 @@ +2007-10-19 Borut Razem + + * src/pic16/glue.c: fixed bug #983491 - "Merge duplicate strings + function is ineffective" for pic16 tareget + * support/scripts/listerr.c: corrected include path + * device/lib/_itoa.c: fixed bug #1806402 - _itoa and _uitoa leak to + adjacent memory + +2007-10-18 Maarten Brock + + * support/regression/tests/using.c: new, added + * support/regression/tests/vaargs.c: fixed and enabled test + +2007-10-18 Borut Razem + + * src/SDCCglue.c: fixed bug #983491 - Merge duplicate strings function + is ineffective + * support/regression/tests/bug-983491.c: added regtest for bug #983491 + +2007-10-18 Maarten Brock + + * doc/sdccman.lyx: documented option --Werror + * src/SDCCsymt.c (checkFunction): fixed bug 1815418 by setting + RegBankUsed[] earlier + +2007-10-14 Maarten Brock + + * device/include/mcs51/p89lpc938.h: new, added, thanks Kyle Guinn + * src/pic/glue.c, + * src/SDCCval.c, + * src/SDCCast.c, + * src/SDCCast.h: replaced AST_LIT_VALUE with AST_FLOAT_VALUE and + AST_ULONG_VALUE + * src/SDCCast.c (decorateType): improved optimization of tri-op + * src/SDCCerr.c (vwerror, setWError), + * src/SDCCerr.h, + * src/SDCCmain.c (parseCmdLine): added option --Werror to treat all + warnings as errors, thanks Stas Sergeev for PATCH 1813211 + +2007-10-13 Maarten Brock + + * src/mcs51/gen.c (leftRightUseAcc): use macro IS_OP_ACCUSE + * src/SDCCast.c (decorateType): optimize bit=cond?1:0, RFE 1738430 + * support/regression/tests/bug-223113.c, + * support/regression/tests/bug-426632.c, + * support/regression/tests/bug-468811.c, + * support/regression/tests/bug-477835.c, + * support/regression/tests/bug-478094.c, + * support/regression/tests/bug-499644.c, + * support/regression/tests/bug-524209.c, + * support/regression/tests/bug-524211.c, + * support/regression/tests/packcast.c, + * support/regression/tests/structidx.c: added empty tests + * support/regression/tests/bug-607243.c: enabled test + +2007-10-06 Borut Razem + + * .version, doc/sdccman.lyx: bumped version to 2.7.4 to indicate the full + support of universal binaries on Mac OS X + +2007-10-02 Borut Razem + + * src/SDCCval.h: unified double2ul macro for all platforms + * src/SDCCval.c: fixed bug #1777758 - applied Maarten's patch + * support/regression/tests/bitwise.c: added regtest for bug #1777758 + +2007-09-30 Borut Razem + + * src/SDCCval.h: fixed bug #1739860 - sdcc does not work correctly on some + platforms + * sdcc_vc_in.h: enabled warnings + * src/hc08/gen.c: fixed MSVC warning C4146: unary minus operator applied to + unsigned type, result still unsigned + * src/mcs51/peep.c: fixed gcc warning: suggest parentheses around && within || + +2007-09-28 Raphael Neider + + * src/pic/device.c (find_device): prevent buffer underflow error + * src/pic/pcoderegs.c (OptimizeRegUsage): avoid dereferencing + the just destroyed list entry + +2007-09-18 Frieder Ferlemann + + * doc/sdccman.lyx: there's a dedicated wiki page for cmake and sdcc, thanks + Alexander Neundorf + +2007-09-18 Borut Razem + + * src/SDCCval.c: fixed MSVC warning C4146: unary minus operator + applied to unsigned type, result still unsigned + +2007-09-17 Borut Razem + + * src/SDCC.y, src/SDCCast.c, src/SDCCcse.c, src/SDCCglue.c, + src/SDCCicode.c, src/SDCCopt.c, src/SDCCsymt.c, src/SDCCval.c, + src/SDCCval.h, src/hc08/gen.c, src/avr/gen.c, src/ds390/gen.c, + src/mcs51/gen.c, src/pic/gen.c, src/pic/genarith.c, src/pic/glue.c, + src/pic/ralloc.c, src/pic16/gen.c, src/pic16/genarith.c, + src/pic16/genutils.c, src/pic16/glue.c, src/pic16/main.c, + src/z80/gen.c, src/z80/ralloc.c: + fixed bug #1739860 - sdcc does not work correctly on some platforms + (not finished) + introduced and used ulFromVal(), double2ul(), used strtod() instead sscanf() + +2007-09-17 Raphael Neider + + * src/pic16/device.c: reverted to previous version + * device/lib/pic16/Makefile.common.in: quieten gpasm via -Wa,-q + +2007-09-16 Raphael Neider + + * src/pic16/device.c (pic16_dump_usection): do not reserve 0 bytes, + as this raises a ton of gpasm warnings, just emit a second label + * src/pic16/devices.inc, + * device/lib/pic16/pics.all, + * device/lib/pic16/libdev/pic18f2585.c, + * device/lib/pic16/libdev/pic18f2680.c, + * device/lib/pic16/libdev/pic18f2682.c, + * device/lib/pic16/libdev/pic18f2685.c, + * device/lib/pic16/libdev/pic18f4585.c, + * device/lib/pic16/libdev/pic18f4680.c, + * device/lib/pic16/libdev/pic18f4682.c, + * device/lib/pic16/libdev/pic18f4685.c, + * device/include/pic16/pic18f2585.h, + * device/include/pic16/pic18f2680.h, + * device/include/pic16/pic18f2682.h, + * device/include/pic16/pic18f2685.h, + * device/include/pic16/pic18f4585.h, + * device/include/pic16/pic18f4680.h, + * device/include/pic16/pic18f4682.h, + * device/include/pic16/pic18f4685.h, + * device/include/pic16/pic18fregs.h: added 18f2585, 18f2680, + 18f2682, 18f2685, 18f4585, 18f4680, 18f4682, 18f4685, + patch contributed by Anton Strobl, applied with changes + +2007-09-16 Raphael Neider + + * device/include/pic16/pic18f2431.h, + * device/include/pic16/pic18f25j10.h, + * device/include/pic16/pic18f4431.h, + * device/include/pic16/pic18f45j10.h: adopted common include style + * device/include/pic16/pic18f1320.h, + * device/include/pic16/pic18f2320.h, + * device/include/pic16/pic18f2525.h, + * device/include/pic16/pic18f4320.h, + * device/include/pic16/pic18f4525.h: NEW, just include proper .h file + * device/include/pic16/pic18fregs.h: prepared for automatic include + file selection by having DEVICE.h for every DEVICE + * device/lib/pic16/libdev/pic18f2320.c, + * device/lib/pic16/libdev/pic18f4320.c: just include proper .c file + + * device/lib/pic16/configure.in, + * device/lib/pic16/configure: use rm -rf instead of rmdir + * device/lib/pic16/Makefile.in: use RMDIR to remove build directories + * device/lib/pic16/libc/stdlib/free.c: avoid warning on pointer cast + +2007-09-09 Borut Razem + + * src/SDCCmain.c, src/SDCCutil.c: print newline after printVersionInfo(), + distingush between i386 and ppc Mac OS X versions + +2007-09-05 Maarten Brock + + * src/mcs51/gen.c (genReceive): fixed bug 1788177 + * support/regression/tests/bug1788177.c: new, added + +2007-09-04 Frieder Ferlemann + + * doc/sdccman.lyx: mentioned d52 and cmake, customizing startup code + * device/include/mcs51/lint.h added keyword __naked + +2007-09-04 Maarten Brock + + * src/pic16/glue.c, + * src/pic/glue.c, + * src/SDCCmem.h: removed maxRegBank + * src/SDCCmem.c (allocVariables): removed maxRegBank and moved setting + RegBankUsed[] to checkFunction() in SDCCsymt.c to fix bug 1759839 + * src/SDCCsymt.c (checkFunction): set RegBankUsed[] here + * src/mcs51/peep.c (isCallerSaveFunc, termScanAtFunc): changed function + name and behaviour to handle banked functions + (scan4op): and use it to fix bug 1786213 + +2007-09-03 Raphael Neider + + * device/include/pic16/pic18f248.h, + * device/include/pic16/pic18f258.h, + * device/include/pic16/pic18f448.h, + * device/lib/pic16/libdev/pic18f248.c, + * device/lib/pic16/libdev/pic18f258.c, + * device/lib/pic16/libdev/pic18f448.c: fixed TRISEbits, + added T0CONbits, fixes #1786891 + +2007-08-29 Maarten Brock + + * src/ds390/gen.c (genFarPointerSet), + * src/hc08/ralloc.c (packRegisters), + * src/mcs51/ralloc.c (packRegisters), + * src/SDCCcse.c (cseBBlock): check if result is a symbol first to fix + bug 1750318 + * src/SDCCicode.h: POINTER_SET can be true for literals too + * support/regression/tests/bug1750318.c: new, added + +2007-08-23 Borut Razem + + * debugger/mcs51/sdcdb.c: fixed compilation with older readline + library versions without the completition functionality + +2007-08-22 Raphael Neider + + * device/include/pic16/pic18f1220.h, + * device/lib/pic16/libdev/pic18f1220.c: applied patch #1776191 + +2007-08-12 Borut Razem + + * debugger/mcs51/Makefile.in: support/Util/SDCCerr.[ch] moved to src + +2007-08-11 Borut Razem + + * support/Util/SDCCerr.c, support/Util/SDCCerr.h, src/src.dsp, + src/Makefile.in, src/Makefile.bcc, support/scripts/listerr.c: + support/Util/SDCCerr.[ch] moved to src + * as/hc08/as_hc08.dsp, as/link/hc08/link_hc08.dsp, + as/link/z80/linkgbz80.dsp, as/link/z80/linkz80.dsp, + device/examples/ds390/tinitalk/tinitalk.dsp, + device/examples/serialcomm/windows/serialcomm.dsp, + support/librarian/librarian.dsp: + removed linking of unused odbc32.lib and odbccp32.lib + * support/scripts/winres.h: + added for compilation with Visual C++ 2005 Express Edition + +2007-08-09 Jesus Calvino-Fraga + + * device/include/mcs51/at89c51ed.h: Fixed typo in declarations of CKCON0 + and CKCON1. + +2007-08-07 Erik Petrich + + * sdccconf_in.h: update the endian test so that SPARC Solaris + does not throw syntax errors + +2007-08-06 Borut Razem + + * doc/sdccman.lyx: removed two index entries which prevented the + generation of sdcc doc archive + +2007-08-05 Jesus Calvino-Fraga + + * doc/sdccman.lyx: Same changes made 2007-07-28 but using lyx 1.4.4 + instead of lyx 1.5.0. + +2007-07-31 Erik Petrich + + * device/include/hc08/mc68hc908apxx.h: new header contributed by + Lucas Loizaga, with minor modifications. Thanks! + +2007-07-28 Jesus Calvino-Fraga + + * doc/sdccman.lyx: Documented --acall-ajmp and described new features + in sdcclib. + +2007-07-28 Jesus Calvino-Fraga + + * src/SDCCglobl.h, src/SDCCpeeph.c, src/SDCCglue.c, src/mcs51/main.c, + src/mcs51/peeph.def: Added option --acall-ajmp: replaces lcall/ljmp + with acall/ajmp. + +2007-07-22 Borut Razem + + * configure.in, configure: re-introduced .version + * sdcc.spec, doc/INSTALL.txt: they are used only for releases; + the version reverted to 2.7.0 + +2007-07-18 Maarten Brock + + * configure.in, + * doc/sdccman.lyx: bumped version to 2.7.3 + * device/include/mcs51/compiler.h: fixed elif->else + * src/mcs51/gen.c (genAnd, genOr): handle accuse for pure bit operands + * src/mcs51/ralloc.c (createStackSpil): fixed SCLS bug with sloc for sbit, + (operandUsesAcc, packRegsForAccUse): added parameter allowBitspace to + enable accuse for bit operands + * src/SDCCmain.c (printVersionInfo), + * src/SDCCutil.c (getBuildEnvironment): factored out creation of build + environment descriptor + * src/SDCCutil.h: added getBuildEnvironment + * src/SDCCglue.c (initialComments): use getBuildEnvironment + * support/regression/tests/bug1464657.c: enabled test test_Peephole251 + * support/regression/tests/bug-408972.c: enabled test leftShiftLong + * support/regression/tests/bug1348008.c, + * support/regression/tests/bug1496419.c, + * support/regression/tests/bug1503067.c, + * support/regression/tests/preproc.c: added empty tests + +2007-07-15 Maarten Brock + + * support/regression/tests/bug1678803.c: new, added + +2007-07-14 Maarten Brock + + * as/link/aslink.h, + * as/link/hc08/lkihx.c, + * as/link/hc08/lkrloc.c, + * as/link/mcs51/lkihx.c, + * as/link/mcs51/lkrloc.c: renamed ihxEntendedLinearAddress to + ihxExtendedLinearAddress + * as/link/mcs51/lkrloc.c (relr), + * as/mcs51/asout.c (outr11, outr19): handle absolute destination for + acall/ajmp, see bug 830513 + +2007-07-13 Maarten Brock + + * src/SDCCcse.c (replaceAllSymBySym): renamed siaddr to isaddr, + (cseBBlock): remember aggr2ptr has been used + * src/SDCCicode.c (operandSize): added function to handle aggr2ptr, + (geniCodeAssign): fixed bug 868103 + * src/SDCCicode.h: made operand.aggr2ptr 2 bits wide, + added operandSize prototype + * src/mcs51/gen.c (aopOp): use operandSize to fix bug 868103, + (genDataPointerSet): use max of size of right and result, + (gencjne): added parameter useCarry for optimization, + (genCmpEq): use carry if appropriate, + (genXor): check if operand already in carry + * support/regression/tests/bug-868103.c: enabled test + +2007-07-12 Raphael Neider + + * src/pic16/gen.c (genNearPointerSet): fixed handling of literals + +2007-07-11 Maarten Brock + + * src/SDCCsymt.c (compareType): fixed bugs 1738367 and 1745717 with patch + from Robert Larice, thanks + * support/regression/tests/bitopcse.c, + * support/regression/tests/bitvars.c, + * support/regression/tests/bug-908454.c: use for the bit types + * support/regression/tests/bug-927659.c: enabled test for z80 + * support/regression/tests/bug1738367.c: added extra tests by Frieder + * support/regression/tests/bug1745717.c: new, added + * support/regression/tests/literalop.c, + * support/regression/tests/nullstring.c: removed storage definitions that + are now in testfwk.h + +2007-07-10 Maarten Brock + + * device/include/stdbool.h: do not define __bool_true_false_are_defined + and bool for targets that do not fully support it. + * support/regression/tests/bug1546986.c, + * support/regression/tests/bug1723128.c, + * support/regression/tests/bug1734654.c, + * support/regression/tests/bug1738367.c, + * support/regression/tests/constantRange.c: only use bool if allowed + +2007-07-09 Maarten Brock + + * src/mcs51/peep.c (isCallerSaveFunc): fixed bug 1749275, thanks Robert + Larice, also handle function pointers + * support/regression/tests/bug1749275.c: new, added + +2007-07-03 Borut Razem + + * src/mcs51/gen.c, src/avr/gen.c, src/pic/gen.c, src/z80/gen.c, + src/pic16/gen.c, src/hc08/gen.c, src/ds390/gen.c: fixed RFE + #1746528: SDCC should ignore ':' in inline assembler comments + * device/include/typeof.h: fixed bug #1747142: typeof.h needs fixing + +2007-07-02 Maarten Brock + + * device/include/mcs51/C8051F360.h: fixed bug #1746410, thanks Chris Jones + * device/lib/mcs51/crtxclear.asm: do not set __XPAGE unconditionally + +2007-06-29 Borut Razem + + * src/SDCCmain.c: fixed bug + #1744746: SDCC #4867: broken option --xram-size + +2007-06-28 Borut Razem + + * sim/ucsim/configure.in, sim/ucsim/configure, sim/ucsim/ddconfig_in.h: + find out the endianess of host machine for ucsim + +2007-06-27 Borut Razem + + * support/regression/generate-cases.py: corrected the file name + in warning + * configure.in, configure, sdccconf_in.h: find out the endianess of + host machine + * src/SDCC.y: fixed bug #1744146: Crash when compiling array of + negative size + +2007-06-27 Gudjon I. Gudjonsson + + * device/include/mcs51/p89c66x.h: NXP header file, OK to change licence + +2007-06-26 Borut Razem + + * support/regression/generate-cases.py: display warning if function + list is empty; implemented more flexible rule for detection of + testing functions, allowing return type 'void' in the same line as + the function name in the function definition + * support/regression/tests/bug-1654060.c: corrected test + * support/librarian/sdcclib.c: fixed warning: + format '%s' expects type 'char *', but argument 2 has type 'int' + +2007-06-25 Jesus Calvino-Fraga + + * support/librarian/sdcclib.c: Added feature Requests [1510635] + Multiple infiles for sdcclib. + +2007-06-20 Erik Petrich + + * src/SDCCast.c (inlineFindMaxBlockno, createFunction): fixed + bug 1731741 + +2007-06-18 Borut Razem + + * src/SDCCmain.c: removed option -C since SDCC compiler doesn't know + how to handle comments, so they have to be removed by the + preprocessor; fixed bug #1738926:SDCC #4852: broken option -V + * src/SDCCmain.c, src/SDCCargs.h, src/ds390/main.c, src/mcs15/main.c, + src/pic16/main.c, src/pic/main.c, src/z80/main.c, + support/Util/SDCCerr.c, support/Util/SDCCerr.h: + table driven option hadling + +2007-06-16 Maarten Brock + + * src/SDCCast.c (decorateType), + * src/SDCCicode.c (geniCodeConditional): moved optimization for '?' from + iCode to ast level to fix bug 1738367 + * support/regression/tests/bug1738367.c: new, added + +2007-06-15 Raphael Neider + + * src/pic16/devices.inc, + * device/lib/pic16/pics.all, + * device/include/pic16/pic18fregs.h, + * device/include/pic16/pic18f[24][45]20.h, + * device/lib/pic16/libdev/pic18f[24][45]20.c: added support for + 18f2420, 18f2520, and 18f4420 devices, updated 18f4520 definitions + * device/lib/pic16/Makefile.in: faster cleanup + +2007-06-13 Frieder Ferlemann + + * src/mcs51/peeph.def: added 177.i (mov from a is slightly cheaper) + +2007-06-13 Raphael Neider + + * src/SDCCmain.c: prevent NULL pointer dereference, avoid warning + +2007-06-12 Raphael Neider + + * support/scripts/inc2h.pl: conditionally emit defines for SFR bits, + suppress bit defines if NO_BIT_DEFINES is #define'd + * device/include/pic/pic*.h: recreated all headers to include + conditional bit defines + * device/include/pic/pic16f886.h, + * device/include/pic/pic16f887.h: fixed based on newer .inc file + * device/include/pic/recreate.sh: script to recreate the complete + device library files based on the currently supported devices + +2007-06-12 Borut Razem + + * src/pic16/main.c, src/SDCCargs.h, SDCCmain.c, + support/regression/Makefile.in, support/scripts/build.mak, + support/scripts/Makefile.snapshot: + use new svn URL scheme + * doc/sdccman.lyx: SDCC Wiki moved to + http://sdcc.wiki.sourceforge.net/ + +2007-06-10 Frieder Ferlemann + + * src/mcs51/peeph.def: disabled rule 132.d to fix #1734654 + * support/regression/tests/bug1734654.c: added + +2007-06-10 Maarten Brock + + * src/SDCCast.c (decorateType): optimized '?' for equal operands + * src/SDCCicode.c (geniCodeConditional): optimization for bit result + with literal operands + +2007-06-10 Borut Razem + + * as/link/z80/lklibr.c: fixed mingw build warning + lklibr.c:575: warning: implicit declaration of function 'tolower' + * src/SDCCmain.c, src/ds390/main.c, src/mcs51/main.c, src/pic/main.c, + src/z80/main.c: move target specific options from src/SDCCmain.c + to src//main.c + +2007-06-09 Borut Razem + + * src/z80/gen.c: fixed bug #1294691: nested ifs make compiler crash; + removed unused swap_sense; removed outBitCLong, replaced with outBitC + * support/regression/tests/bug-1294691.c: added + +2007-06-09 Maarten Brock + + * src/SDCCmem.c (allocDefault): removed check sym->level==0 for SPEC_ABSA, + can also be static, fixes bug 1733438 + * src/SDCCsymt.c (checkSClass): static local vars in reentrant funcs can + have absolute address too + (computeType): added optimization for 'cond ? true : false' + * support/regression/tests/absolute.c: added test for static absolute var + +2007-06-08 Raphael Neider + + * src/regression/Makefile: suppress parallel builds, allow easy + switching between pic14/pic16 ports + * src/regression/picregs.h: added pic14/16 header file switch + * src/regression/{compare7.c,compare8.c,compare9.c,compare10.c, + inline.c,nestfor.c,string1.c}: include "picregs.h" + +2007-06-07 Borut Razem + + * sim/ucsim/*.[ch], sim/ucsim/configure, sim/ucsim/configure.in: + permanent solution to suppress GCC 4.2.0 c++ warning: + deprecated conversion from string constant to `char *' + use 'const char *' where ever required + * support/regression/generate-cases.py: implemented more flexible rule + for detection of testing functions, allowing white-spaces surrounding + the function name and the 'void' parameter. + * support/regression/tests/constantRange.c, + support/regression/tests/scott-compare3.c: fixed failing regression + tests, uncovered by implementation of more flexible rule for detection + of testing functions + +2007-06-04 Maarten Brock + + * src/SDCCast.c(decorateType): better optimize '!!' and comparisons + +2007-06-04 Borut Razem + + * configure.in, configure, config_vc.awk: sdcc version number is now + stored in configure.in; removed .version + * configure.in, configure, sdcc.spec, doc/sdccman.lyx, doc/sdccman.lyx, + doc/INSTALL.txt: version bumped to 2.7.2 + * sim/ucsim/configure.in, sim/ucsim/configure: + use "read" to read from .version + +2007-06-03 Borut Razem + + * */Makefile.in: removed annoying warning: + Makefile:xx: Makefile.dep: No such file or directory + +2007-06-02 Maarten Brock + + * src/mcs51/gen.c (outBitC, genRet): used IS_OP_RUONLY, + (genNot, genXor): used toCarry, also fixes a bug for c = bit ^ val + * src/mcs51/ralloc.c: removed IS_OP_RUONLY + some cosmetic changes + * src/SDCCast.c (resultTypePropagate): propagate for '!', + (decorateType): also optimize comparisons with RESULT_TYPE_BIT, + bugfix: only use newBoolLink for bit result type + * src/SDCCicode.c (geniCodeLogic): added param tree, + bugfix: use newBoolLink if tree is bit type, bug appears when ruonly, + (geniCodeLogicAndOr): use IS_BIT, + (geniCodeJumpTable, geniCodeSwitch): added NULL param to geniCodeLogic, + (ast2iCode): added tree param to geniCodeLogic for comparisons + * src/SDCCsymt.h: added IS_OP_RUONLY and IS_OP_ACCUSE + * support/regression/tests/bug1723128.c: added test NotZero + +2007-06-01 Borut Razem + + * SDCPP synchronized with GCC CPP release version 4.2.0, + currently the latest release: + * support/cpp2/c-incpath.c, support/cpp2/c-incpath.h, + support/cpp2/c-ppoutput.c, support/cpp2/cppdefault.c, + support/cpp2/cppdefault.h, support/cpp2/except.h, + support/cpp2/libcpp/directives.c, support/cpp2/libcpp/expr.c, + support/cpp2/libcpp/files.c, support/cpp2/libcpp/include/cpplib.h, + support/cpp2/libcpp/init.c, support/cpp2/libcpp/internal.h, + support/cpp2/libcpp/lex.c, support/cpp2/libcpp/macro.c, + support/cpp2/libcpp/mkdeps.c, support/cpp2/libiberty/getpwd.c, + support/cpp2/libiberty/hashtab.c, support/cpp2/optc-gen.awk, + support/cpp2/opth-gen.awk, support/cpp2/opts.c, + support/cpp2/opts.h, support/cpp2/output.h, + support/cpp2/prefix.c, support/cpp2/sdcpp-opts.c, + support/cpp2/sdcpp.dsp, support/cpp2/sdcpp.opt, + support/cpp2/system.h, support/cpp2/version.c, + support/cpp2/Makefile.in: modified + * support/cpp2/opts-common.c: added + * device/lib/pic16/libdev/pic18f[24][45]j10.c: fixed svn atrributes + * device/lib/pic16/libdev/pic18f[24]5j10.c: + search for included source file in local directory + * sim/ucsim/configure, sim/ucsim/configure.in: + temporary solution to suppress GCC 4.2.0 c++ warning: + deprecated conversion from string constant to `char *' + +2007-06-01 Raphael Neider + + * device/lib/pic/libdev/pic12f683.c, + * device/include/pic/pic12f683.h: added GPIO bits + +2007-06-01 Raphael Neider + + * doc/sdccman.lyx: added --disable-pic16-port, fixed some `--' and + quotation marks, clarified role of PIC14 vs. PIC16 ports + * src/pic16/devices.inc, + * device/include/pic16/pic18fregs.h, + * device/include/pic16/pic18f[24][45]j10.h, + * device/lib/pic16/pics.all, + * device/lib/pic16/libdev/pic18f[24][45]j10.c: added support for + 18f24j10, 18f25j10, 18f44j10, and 18f45j10 + * device/lib/pic16/libio/{i2c,adc,usart}.ignore: do not build IO libs + for new devices as they are not yet supported by gputils + +2007-05-31 Borut Razem + + * Small Device C Compiler 2.7.0 released + * .version, sdcc.spec, doc/sdccman.lyx, doc/INSTALL.txt: + changed sdcc version to 2.7.1 + * support/scripts/sdcc.nsi: added How to create WIN32 release + setup.exe package + +2007-05-29 Maarten Brock + + * doc/sdccman.lyx: documented initialization and allocation of absolute + variables, bit parameter passing, the need for function pointers to be + reentrant and alpha quality support of inline and retrict + +2007-05-26 Borut Razem + + * support/regression/tests/bug1057979.c, support/regression/tests/malloc.c, + support/regression/fwk/include/testfwk.h: fixed compilation on Mac OS x + * docs/knownbugs.html: updated + +2007-05-25 Maarten Brock + + * doc/sdccman.lyx: inserted footnotes about inline assembler labels, + thanks Jan Waclawek + * src/mcs51/gen.c (aopPut): fixed part of bug 1723128 when result is + AOP_CRY and ruonly + (gencjneshort): optimized when left is AOP_DIR + * src/SDCCglue.c (printIvalStruct): fixed other part of bug 1723128 for + initializing unions in a struct/array + * support/regression/fwk/include/testfwk.h: added defines for data, near + and far for host and z80 + * support/regression/tests/bug1723128.c: new, added + +2007-05-22 Borut Razem + + * doc/knownbugs.html: updated + +2007-05-21 Raphael Neider + + * src/pic16/glue.c (pic16_initPointer): avoid assertion, emit better + error message instead + * src/pic/pcoderegs.c (pCodeOptime2pCodes): keep register state intact + +2007-05-21 Maarten Brock + + * src/mcs51/peeph.def (257.b): disabled to fix bug 1721024 + +2007-05-21 Raphael Neider + + * src/pic/pcoderegs.c (pCodeOptime2pCodes): fixed bogus optimization, + closes #1722392 + * src/regression/gpsim_assert.h, + * src/regression/Makefile, + * src/regression/pcodeopt.c: regression test for the above fix + +2007-05-11 Maarten Brock + + * src/SDCCpeeph.c (labelIsUncondJump): ignore identical labels for + jumps to self, fixed bug 1717281 + +2007-05-10 Borut Razem + + * support/scripts/gen_known_bugs.pl: cosmetic fix + * doc/knownbugs.html: generated by gen_known_bugs.pl + +2007-05-10 Erik Petrich + + * src/SDCCast.c (createFunction): also generate non-inlined version of + function for functions declared as "static inline" + * src/SDCCast.c (fixupInline, inlineAddDecl): reset symbol state so + function can be inlined after non-inlined version generated. + +2007-05-10 Borut Razem + + * support/scripts/gen_known_bugs.pl: added script + which generates knownbugs.html + +2007-05-09 Maarten Brock + + * doc/knownbugs.html: updated for release 2.7.0 + +2007-05-09 Jesus Calvino-Fraga + + * device/include/mcs51/uPSD33xx.h: Added patch by Jan Waclawek. + +2007-05-08 Maarten Brock + + * src/ds390/gen.c (emitcode): don't change properties of previous lines, + (throughout): updated generating comments + * src/mcs51/gen.c (emitcode): don't change properties of previous lines, + (throughout): updated generating comments + * src/SDCCpeeph.c (peepHole): continue searching at the first replaced + rule instead of at the second, or it might skip lines when removing the + complete match + * support/regression/tests/bug1714204.c: changed test to foo + +2007-05-08 Borut Razem + + * doc/sdccman.lyx: changed sdcc version to 2.7.0, + thanks to SDCC Distributed Compile Farm members, + added Z80 and GBZ80 command line options + * .version, doc/INSTALL.txt, sdcc.spec: changed sdcc version to 2.7.0 + +2007-05-08 Maarten Brock + + * device/lib/mcs51/crtxinit.asm: added disabled version for dual dptr + * device/include/mcs51/uPSD33xx.h: added sfr DPS as alias for DPTC + * support/regression/tests/longlit.c: modified to be tested at all and + to pass the actual test + +2007-05-07 Jesus Calvino-Fraga + + * device/include/mcs51/uPSD33xx.h: Added. + +2007-05-07 Maarten Brock + + * device/lib/_gptrput.c, + * device/lib/_gptrget.c: removed old code, + (_gptrgetWord), + * src/ds390/gen.c (genGenPointerGet): fixed bug 1714204 + * support/regression/tests/bug1714204.c: new, added + +2007-05-06 Frieder Ferlemann + + * support/regression/tests/regtrack.c: test was never executed + because of the regression test being picky about white spaces. + * device/lib/mcs51/crtclear.asm: added comment + +2007-05-06 Raphael Neider + + * device/lib/pic/Makefile.rules, + * device/lib/pic16/Makefile.rules: make sure *.ignore file exists, + made "&> /dev/null" redirection sh-safe ("> /dev/null 2>&1") + +2007-05-06 Raphael Neider + + * src/pic16/device.h, + * src/pic16/main.h, + * src/pic16/main.c (pic16_optionsTable,_pic16_parseOptions, + _pic16_setDefaultOptions): removed/reordered command-line args + * doc/sdccman.lyx: updated PIC14 and PIC16 documentation (supported + devices, regrouped command line args, environment variables), + clarified sone points, added sections on how to add devices to the + PIC14/PIC16 ports + +2007-05-06 Maarten Brock + + * src/z80/peeph.def: fixed bug in rule 2 + +2007-05-05 Maarten Brock + + * src/port.h: added TARGET_MCS51_LIKE + * src/SDCCpeeph.c (labelIsUncondJump): new, added, other targets could + take advantage of it too + * src/z80/gen.c (genIpush): push b, d or h directly instead of using a, + (shiftR2Left2Result): Optimized: don't check shifting by 0 + * src/z80/peeph-z80.def, + * src/z80/peeph.def: whole set of new rules by Philipp Krause with some + modifications, see patch 1700823 + * src/mcs51/peep.c (): fixed bug 1712928 + * support/regression/tests/bug1712928.c: new, added + +2007-05-05 Borut Razem + + * device/lib/pic16/Makefile.common.in, + device/lib/pic/Makefile.common.in, sim/ucsim/cmd.src/Makefile.in: + removed bash dependencies + +2007-05-01 Borut Razem + + * src/SDCCicode.c: + fixed bug #1710507: --i-code-in-asm makes compile fail + all iCode comments are now one liners + * src/mcs51/gen.c: fixed memory leak + +2007-05-01 Raphael Neider + + * device/lib/pic/libdev/*.c + * device/include/pic/*.h: regenerated all device libs from updated + .inc files + * support/scripts/inc2h.pl: documented usage, now uses strict to + catch more bugs + +2007-04-30 Borut Razem + + * doc/sdccman.lyx: + fixed bug #1669175: Problem with space in output paths + documented how to use paths with spaces for Windows users + +2007-04-29 Borut Razem + + * Fixed svn:eol-style and svn:keywords properties + * src/SDCCval.c: fixed bug + #1592871: Segfault with "large" const arrays of characters + replaced recursion with iteration + * Removed svn:executable property from non-executable files + +2007-04-29 Maarten Brock + + * src/mcs51/gen.c (genRet): fixed bug 1707003 + +2007-04-27 Raphael Neider + + * src/pic16/pcode.c (pBlockRemoveUnusedLabels,pic16_pBlockAddInval, + createReachingDefinitions,assignValnums,pic16_destructDF, + pic16_createDF,pic16_vcg_dumpedges,pic16_vcg_dump_default): + prevent NULL pointer dereferences + * device/lib/pic/libdev/pic16f886.c, + * device/lib/pic/libdev/pic16f887.c: svn mv'ed to disabled_* to + prevent building them, gputils do not really support them yet + +2007-04-27 Frieder Ferlemann + + * device/lib/_ltoa.c: 36 bytes less __data mem. This really + helps printf_small. 32 bytes more __idata mem. + +2007-04-27 Raphael Neider + + * src/pic/pcode.c (addpCode2pBlock,LinkFlow,pBlockRemoveUnusedLabels): + return early when pb or pb->pcHead is NULL (patch #1708427) + * src/regression/empty.c, + * src/regression/Makefile: added test with empty functions + * support/Util/SDCCerr.c: fixed typo in E_INIT_STRUCT message + +2007-04-27 Borut Razem + + * src/SDCCast.c: fixed feature request + #1547512: Redundant strings linked when using sizeof("abc") + +2007-04-23 Borut Razem + + * doc/sdccman.lyx, src/SDCCmain.c: + peep-hole comments are generated only if --fverbose-asm option is + specified and --no-peep-comments is not, as proposed by Frieder. + * support/regression/Makefile.in: compile regression tests with + --fverbose-asm option so one can "grep" whether a new (or an old) + peephole is (still) applied; requested by Frieder. + +2007-04-23 Kevin Buettner + + * device/include/pic/pic16f886.h, + * device/include/pic/pic16f887.h, + * device/lib/pic/libdev/pic16f886.c, + * device/lib/pic/libdev/pic16f887.c, + * device/include/pic/pic14devices.txt, + * device/lib/pic/libdev/devices.txt: Add 16f886 and 16f887. + +2007-04-23 Kevin Buettner + + * device/lib/pic/libsdcc/idata.c: PAGESEL _main before going there, + fixes #1704666 + +2007-04-23 Frieder Ferlemann + + * device/lib/_memset.c: assembler version for mcs51 + +2007-04-22 Borut Razem + + * support/scripts/listerr.c: program to create the list of errors and + warnings list from - added + * doc/sdccman.lyx: removed the note + "For list of warnings and corresponding codes, see err_warn.txt" + * src/SDCCsymt.c: fixed bug #1699804: + Bug with some uses of sizeof(static local array) (MCS51) + * support/regression/tests/bug-1699804.c: added + +2007-04-20 Maarten Brock + + * as/mcs51/asmain.c (search_path_append, search_path_fopen): new, added, + (main): added option -i, + (asmbl, case S_INCL): use search_path_fopen, + mostly from patch 1579668 by Peter Miller, thanks + * src/z80/main.c: fixed typo --callee-saves-bc + * device/include/mcs51/compiler.h: added sfrword for Tasking + +2007-04-20 Borut Razem + + * src/z80/main.c: replaced reserved keyword asm with asmblr + +2007-04-19 Borut Razem + + * src/port.h: use const pointers to strings + * src/SDCCargs.h: declared getStringArg() and getIntArg() + * src/pic16/main.c: include SDCCargs.h + * src/SDCCglobl.h: code_seg and const_seg are not pointers to + const char, since the strings are dynamically allocated + * src/SDCCmain.c: options.code_seg and options.const_seg are + dynamically allocated; check port specific command line options + before the general ones + * src/z80/main.c: fixed bug #1631895: codeseg/constseg #pragma fail + +2007-04-18 Maarten Brock + + * device/include/ds400rom.h, + * device/lib/ds390/lcd390.c, + * device/lib/ds390/memcpyx.c, + * device/lib/ds390/rtc390.c, + * device/lib/ds400/ds400rom.c, + * device/lib/ds400/memcpyx.c, + * device/lib/hc08/_ret.c: more replacements of keywords with their + double underscore equivalents + * device/lib/ds390/Makefile.in, + * device/lib/ds400/Makefile.in, + * device/lib/gbz80/Makefile.in, + * device/lib/hc08/Makefile.in, + * device/lib/mcs51/Makefile.in, + * device/lib/z80/Makefile.in: added --std-c89 to CFLAGS + +2007-04-17 Borut Razem + + * doc/sdccman.lyx, src/SDCCmain.c, src/SDCCglobal.h, src/ds390/gen.c, + src/hc08/gen.c, src/mcs51/gen.c, src/mcs51/rtrack.c: + fixed #1493816: option --no-gen-comments: --no-gen-comments renamed + to --fverbose-asm, to be gcc'ish + +2007-04-17 Maarten Brock + + * src/mcs51/gen.c (aopOp): set size to 1 for ruonly, fixes bug 1699455 + +2007-04-17 Borut Razem + + * doc/sdccman.lyx: fixed #1701874: Mac OSX references in SDCC manual + * device/lib/ds400/tinibios.c, device/lib/hc08/_divuint.c, + device/lib/hc08/_divulong.c: replaced _asm and _endasm keywords + with their double underscore equivalent + +2007-04-14 Borut Razem + + * doc/sdccman.lyx: some additional "freeware" replaced with "free open + source" + +2007-04-13 Borut Razem + + * doc/sdccman.lyx: -pedantic-parse-number is not in conformance with + C99 standard + * device/examples/serialcomm/windows/serial.[ch], + device/examples/serialcomm/windows/test_serialcomm.cpp: + updated by Bela Torok + * device/examples/serialcomm/windows/serialcomm.dsw, + device/examples/serialcomm/windows/serialcomm.dsp: added + +2007-04-13 Jan Waclawek + + * doc/sdccman.lyx: additions and changes at various places + (submitted as #1697136). + (svn commit by Frieder Ferlemann ) + +2007-04-10 Borut Razem + + * doc/cdbfileformat.lyx, doc/sdccman.lyx, doc/test_suite_spec.lyx: + LyX file format changed to 245 + * doc/sdccman.lyx, doc/README.txt, sdc/SDCC.lex, src/SDCCglue.c: + "FreeWare" replaced with "free open source" + +2007-04-10 Maarten Brock + + * device/include/mcs51/C8051F120.h: added some defines for bits in RSTSRC + +2007-04-08 Maarten Brock + + * device/include/pic16/pic18fregs.h, + * device/lib/_bp.c, + * device/lib/_decdptr.c, + * device/lib/_divsint.c, + * device/lib/_divslong.c, + * device/lib/_divuint.c, + * device/lib/_divulong.c, + * device/lib/_fs2schar.c, + * device/lib/_fs2sint.c, + * device/lib/_fs2slong.c, + * device/lib/_fs2uchar.c, + * device/lib/_fs2uint.c, + * device/lib/_fs2ulong.c, + * device/lib/_fsadd.c, + * device/lib/_fscmp.c, + * device/lib/_fsdiv.c, + * device/lib/_fseq.c, + * device/lib/_fsget1arg.c, + * device/lib/_fsget2args.c, + * device/lib/_fsgt.c, + * device/lib/_fslt.c, + * device/lib/_fsmul.c, + * device/lib/_fsneq.c, + * device/lib/_fsnormalize.c, + * device/lib/_fsreturnval.c, + * device/lib/_fsrshift.c, + * device/lib/_fssub.c, + * device/lib/_fsswapargs.c, + * device/lib/_gptrget.c, + * device/lib/_gptrgetc.c, + * device/lib/_gptrput.c, + * device/lib/_logexpf.c, + * device/lib/_modsint.c, + * device/lib/_modslong.c, + * device/lib/_moduint.c, + * device/lib/_modulong.c, + * device/lib/_mulint.c, + * device/lib/_mullong.c, + * device/lib/_schar2fs.c, + * device/lib/_ser.c, + * device/lib/_setjmp.c, + * device/lib/_sint2fs.c, + * device/lib/_slong2fs.c, + * device/lib/_spx.c, + * device/lib/_uchar2fs.c, + * device/lib/_uint2fs.c, + * device/lib/_ulong2fs.c, + * device/lib/asincosf.c, + * device/lib/atanf.c, + * device/lib/calloc.c, + * device/lib/ds390/tinibios.c, + * device/lib/ds400/tinibios.c, + * device/lib/expf.c, + * device/lib/free.c, + * device/lib/hc08/_mulint.c, + * device/lib/logf.c, + * device/lib/malloc.c, + * device/lib/printf_fast.c, + * device/lib/printf_tiny.c, + * device/lib/printfl.c, + * device/lib/realloc.c, + * device/lib/ser_ir.c, + * device/lib/serial.c, + * support/regression/tests/libmullong.c: replaced all special keywords + with their double underscore equivalent + * support/regression/ports/mcs51-xstack-auto/spec.mk, + * device/lib/Makefile.in: compile libs with --std-c99 instead of + --std-sdcc99 + * src/mcs51/gen.c (outBitC): don't store if result is return-use-only, + (genRet): if the bit-symbol is ruonly it already is in the carry + * src/mcs51/ralloc.c (regTypeNum): make regType REG_CND for ruonly bit + * src/SDCCast.c (createFunction): applied patch 887171 by Stas Sergeev + * src/SDCCicode.c (ast2iCode): '!', GETHBIT, GETABIT: only set operand + type UCHAR if dest is not bit + +2007-04-03 Maarten Brock + + * device/include/math.h, + * device/lib/cotf.c, + * device/lib/expf.c, + * device/lib/sincoshf.c: changed XMAX to C99 HUGE_VALF + +2007-04-01 Borut Razem + + * src/SDCC.lex, src/SDCCmain.c, support/cpp2/sdcpp.c: + fixed bug #1692042: input buffer overflow...scanner uses REJECT + * support/cpp2/sdcpp.c: fixed recursion bug - internal_error() called + gcc_unreachable() called internal_error()... + +2007-03-30 Raphael Neider + + * src/pic/ralloc.c (isData): suppress garbage debug output + +2007-03-28 Borut Razem + + * doc/sdccman.lyx: + "Nightly Snapshots" replaced with "Snapshot Builds", since the SDCC + is developed, built and used worldwide, and the word "night" doesn't + make any sense. + +2007-03-28 Maarten Brock + + * device/include/mcs51/C8051F360.h: new, added + * device/include/mcs51/C8051F520.h: fixed buggy sbit addresses SPI0CN + +2007-03-27 Erik Petrich + + * src/SDCC.y (declaration_specifiers, function_specifier), + * support/Util/SDCCerr.c, + * support/Util/SDCCerr.h, + * src/SDCCsymt.h, + * src/SDCCsymt.c (mergeSpec, checkFunction): Parse and validate the + inline keyword + * src/SDCCmem.c (deallocParms), + * src/SDCCast.c: support for function inlining, not quite complete + * src/SDCCsymt.c (printTypeChain, printTypeChainRaw): display + 'restrict' qualifier + +2007-03-24 Maarten Brock + + * src/mcs51/gen.c (saveRegisters, unsaveRegisters): free some bitVects, + (saveRBank, unsaveRBank): don't save bits, + (genFunction, genEndFunction): save bits exactly once, fix bug 1535242 + * support/regression/tests/bug1535242.c: new, added + * device/include/assert.h: applied patch 1686533 to fix bug 1686528, + thanks Alexey Shamrin , + made assert.h header ANSI compliant (added a check for NDEBUG macro, + removed header guard) + * .version, + * sdcc.spec: bumped version to 2.6.5 + * src/SDCCmain.c(parseCmdLine): fixed bug 1677144 + +2007-03-22 Borut Razem + + * debugger/mcs51/cmd.c, debugger/mcs51/sdcdb.c: + fixed bug #1653671: sdcdb integration into ddd is broken + +2007-03-22 Raphael Neider + + * src/pic/gen.c (popGetExternal): augmented to also create references + to external variables (not only labels), + (genCall): comment on plan to reduce PAGESEL overhead, + (genFunction, genEndFunction): also save/restore FSR around interrupt + handling code, removed lots of unused code + (genDivOneByte): release acquired temp register + * src/pic/glue.c (pic14createInterruptVect): adapt to new signature + of popGetExternal + * device/lib/pic/libsdcc/shadowregs.c: NEW, provide storage location + for registers that need to be saved during interrupts (FSR, STATUS, + PCLATH; W needs special handling), currently only FSR is used + +2007-03-22 Raphael Neider + + * device/include/pic/pic14devices.txt: 16f688 has only one config word + +2007-03-19 Jesus Calvino-Fraga + + * /as/link/mcs51/aslink.dsp: Object extension for mcs51 is 'rel' not 'o'. + +2007-03-17 Maarten Brock + + * src/mcs51/peeph.def (263.x): fixed bug for volatile variables + +2007-03-14 Maarten Brock + + * as/link/aslink.h: added LKOBJEXT + * as/link/hc08/link_hc08.dsp, + * as/link/hc08/Makefile.bcc, + * as/link/hc08/Makefile.in, + * as/link/mcs51/aslink.dsp, + * as/link/mcs51/Makefile.bcc, + * as/link/mcs51/Makefile.in: moved lkamof51.c and lkdata.c + * as/link/hc08/lkaomf51.c, as/link/mcs51/lkaomf51.c, + * as/link/lkaomf51.c: merged and moved + * as/link/hc08/lkdata.c, as/link/mcs51/lkdata.c, + * as/link/z80/lkdata.c, + * as/link/lkdata.c: merged and moved + * as/link/hc08/lkmain.c, + * as/link/mcs51/lkmain.c: cosmetic changes + * as/link/z80/lkeval.c, as/link/lkeval.c: merged + * as/link/lklex.c: use LKOBJEXT + * as/link/z80/lklist.c, as/link/lklist.c: merged, + ANSI-fied functions, removed bubble-sorts + * as/link/z80/lksym.c as/link/lksym.c: merged, + ANSI-fied functions + * as/link/z80/linkgbz80.dsp, + * as/link/z80/linkz80.dsp, + * as/link/z80/Makefile.in: added lkaomf51.c and lknoice.c, + moved lkdata.c, lkeval.c, lkhead.c, lklex.x, lklist.c, lksym.c + * as/link/z80/lkhead.c, + * as/link/z80/lklex.c: deleted + * as/link/z80/lklibr.c: moved LKOBJEXT to aslink.h + * as/link/z80/lkmain.c: added copyfile() + +2007-03-13 Jesus Calvino-Fraga + + * device/include/mcs51/P89LPC925.h: Added missing P1_6 and P1_7. + +2007-03-13 Frieder Ferlemann + + * device/lib/_strlen.c: assembler version for mcs51 + +2007-03-13 Raphael Neider + + * device/include/pic16/pic18f2221.h, + * device/include/pic16/pic18f2321.h, + * device/include/pic16/pic18f2331.h, + * device/include/pic16/pic18f4221.h, + * device/include/pic16/pic18f4321.h, + * device/include/pic16/pic18f4331.h: fixed config byte location names + * support/scripts/inc2h-pic16.pl: removed debug output, emit + consistently named config byte locations + +2007-03-13 Borut Razem + + * src/Makefile.in, sim/ucsim/avr.src/Makefile.in, + sim/ucsim/hc08.src/Makefile.in, sim/ucsim/s51.src/Makefile.in, + sim/ucsim/xa.src/Makefile.in, sim/ucsim/z80.src/Makefile.in, + as/link/z80/Makefile.in, as/z80/Makefile.in: + introduced LDFLAGS + +2007-03-11 Frieder Ferlemann + + * device/lib/printfl.c: 13 bytes less __data mem (12 more __idata) + * device/lib/printf_large.c: pointer was converted to generic + pointer for mcs51 models other than model-small (Maarten noticed) + +2007-03-10 Jesus Calvino-Fraga + + * device/include/mcs51/ADuC84x.h: Added. + +2007-03-10 Borut Razem + + * src/SDCC.lex, src/SDCCutil.[ch], src/SDCCval: + fixed RFE #1624219: double backslashes in filenames; + functions hexEscape(), octalEscape() and copyStr() moved from + SDCCval.c to SDCCutil.c and made them glovbally available + +2007-03-09 Borut Razem + + * src/SDCC.lex, src/SDCCast.c. src/SDCCglobl.c, src/SDCCsymt.c, + src/SDCCval.c: fixed bugs #1676768: Wrong line number reported and + 1673361: Missaligned comments in output files + +2007-03-09 Raphael Neider + + * device/include/pic/pic14devices.txt: fixed confsiz of 16f91[3467] + +2007-03-09 Raphael Neider + + * src/pic/gen.c, + * src/pic/glue.c, + * src/pic/ralloc.c: suppress undesired debug output + * src/SDCCmain.c (linkEdit): initialize c to quieten compiler + +2007-03-08 Frieder Ferlemann + + * device/lib/printf_large.c: 6 bytes less __data mem (6 more __idata) + +2007-03-07 Borut Razem + + * device/lib/pic16/libdev/pic18f[24][34]31.c: + search include files in the current directory + +2007-03-04 Maarten Brock + + * src/SDCCglue.c (emitMaps, glue), + * src/SDCCmem.c (initMem, allocDefault): added x_abs for initialized + absolute xdata + * support/regression/tests/absolute.c: added xdata test + +2007-03-03 Maarten Brock + + * src/SDCCmain.c (parseCmdLine): only set options.xstack_loc for mcs51, + added condition to macro, fixes bug 1666080 + +2007-03-02 Raphael Neider + + * src/pic/gen.c (genGenPointerSet): removed bogus assertion + +2007-02-28 Frieder Ferlemann + + * device/lib/mcs51/crtxclear.asm: pdata segment of 256 byte would not + be cleared. Unconditionally set __XPAGE + * src/hc08/gen.c: --no-gen-comments (RFE #1493816) for hc08 + +2007-02-27 Frieder Ferlemann + + * src/SDCCglobl.h, + * src/SDCCmain.c, + * src/mcs51/gen.c, + * src/mcs51/rtrack.c, + * src/ds390/gen.c, + * doc/sdccman.lyx: added --no-gen-comments + * src/mcs51/peeph.def: added 192.b, disabled 185 + +2007-02-25 Raphael Neider + + * src/pic16/gen.c (genCast): fixed typo + * device/lib/pic16/Makefile.subdir: only install existing files + * device/lib/pic16/libdev/Makefile.in: build serially, avoid races + +2007-02-25 Maarten Brock + + * device/lib/mcs51/crtcall.asm: new, added for indirect calls + * device/lib/mcs51/crtclear.asm, + * device/lib/mcs51/crtxclear.asm: renumbered labels + * device/lib/mcs51/Makefile.in: added crtcall.asm + * doc/sdccman.lyx: documented mcs51 crt* library startup code + * src/mcs51/gen.c (movc): removed, + (aopGet, genPlusBits): clear a after loading the carry (possibly from + acc.x or psw.x), + (toCarry, genSend, genRet): added function toCarry, + (genPcall): use "lcall @a+dptr" for functions w/o parameters, + (assignBit, genAssign, genCast): added function assignBit + * src/mcs51/Makefile.bcc: added rtrack.c + * src/mcs51/ralloc.h: made valueKnown a bitfield + * src/mcs51/rtrack.c (getReg, rtrackUpdate): added getReg, + fixed "jbc acc" and "cpl acc" bug, enhanced "cjne", "jnz" and "djnz", + disabled InvalidateAllRx for lcall __gptrput, added "xch a,rn" + * src/pic/pcode.c (FixRegisterBanking): fixed warning used uninitialized + * src/z80/gen.c: added AOP_IS_PAIRPTR, + (_pop): only pop valid pairs, see gencjneshort, + (gencjneshort): return pair that still needs to be popped, restructured, + (gencjne, genCmpEq): call _pop + +2007-02-23 Raphael Neider + + * device/include/pic/pic14devices.txt: 16f684 has only one config word + +2007-02-22 Jesus Calvino-Fraga + + * device/include/mcs51/P89LPC925.h: Added. + +2007-02-18 Raphael Neider + + * src/pic/glue.c (emitInitVal): fixed #1659894 (SIGSEGV on arrays) + +2007-02-17 Borut Razem + + * support/cpp2/directives.c, support/cpp2/version.c: + synchronized with GCC CPP 4.1.2 + +2007-02-15 Frieder Ferlemann + + * src/mcs51/rtrack.h, + * src/mcs51/rtrack.c: added register tracking for the mcs51 port, + by checking the strings passed by emitcode() to the assembler. + Feel free to change. This in part addresses RFE #482179. + Set environment variable SDCC_RTRACK to enable. + * src/mcs51/gen.c: inserted hooks + * src/mcs51/ralloc.h: added two members to struct regs + * support/regression/tests/regtrack.c: added + +2007-02-14 Borut Razem + + * src/SDCC.y: fixed bug #1291133: duplicate members across enum(s) + * Makefile.in: applied patch from Makefile related part of + #1469393: Compiler does not initialize static data + +2007-02-12 Maarten Brock + + * src/SDCCicode.c (geniCodeAssign): return (itemp) right instead of left + for better fix of bug 1273984, compiles pic16 rand.c + +2007-02-12 Borut Razem + + * src/pic16/main.c: fixed pic16 standard library directory bug + +2007-02-11 Maarten Brock + + * src/hc08/gen.c (genSwap): fix swap regression test + +2007-02-10 Borut Razem + + * src/SDCCsymt.c: fixed bug #1159134: invalid duplicate declarations + with same scope + * support/regression/tests/bug-1654060.c: added regression test for + #1654060 + +2007-02-09 Bernhard Held + + * src/mcs51/gen.c (genRet): fixed RFE 1652561: added code for bit to + bit moves in return statement + +2007-02-09 Borut Razem + + * src/SDCC.y: fixed bug #1654060 typedef within function causes + syntax error + +2007-02-07 Maarten Brock + + * src/mcs51/gen.c (aopPut): use direct name for pushing registers + * src/SDCCmain.c (parseCmdLine): dbuf_s path must be initialised + +2007-02-07 Raphael Neider + + * src/pic16/devices.inc, + * device/include/pic16/pic18fregs.h, + * device/include/pic16/pic18f[24][34]31.h, + * device/lib/pic16/libdev/pic18f[24][34]31.c, + * device/lib/pic16/pics.all: added 18f[24][34]31 family + * device/lib/pic16/libio/i2c.ignore: do not build i2c + +2007-02-07 Maarten Brock + + * device/lib/printf_large.c (_print_format): fixed compare/assign bug, how + can this have lived here for so many years? + * src/SDCCicode.c (ast2iCode): return left instead of right for assignment, + fixes bug 1273984, see also patch 1645121, thanks Gnther Jehle + * support/regression/tests/bug1273984.c: new, added, thanks Gnther Jehle + +2007-02-06 Bernhard Held + + * src/SDCCBlock.c (addiCodeToeBBlock): fixed bug 1652207: GOTO icodes + appended by loop induction must be at the very end of the eBBlock + +2007-02-05 Kevin Vigor + + * src/ds390/gen.c, src/ds390/main.c: Address bug 1469393. + +2007-02-05 Borut Razem + + * support/regression/fwk/lib/timeout.c: native WIN32 port, + implemented #1651830 Reg. tests: rewrite timeout.c to use WIN32 API + +2007-02-03 Borut Razem + + * src/SDCC.y, src/SDCCmain.c, src/SDCCglobl.h, doc/sdccman.lyx: + applied patch #1646602 option to set default signedness of char to + unsigned, added -funsigned-char command line option, + thanks to Gunther Jehle + * device/lib/Makefile.in: added the -f option to rm so it doesn't + prompt for file deletion a few hundred times (especially the + subversion files, which have ro permissions so it asks for + confirmation), thanks to Simon McAuliffe; + added {} + option to find in order to remove multiple files from a + single rm commad + +2007-02-02 Jesus Calvino-Fraga + + * device/include/mcs51/SST89x5xRDx.h: Added. + +2007-02-02 Raphael Neider + + * src/pic/glue.c (emitSymbolSet): check sym->etype before use + * src/regression/Makefile: use --no-pcode-opt, ignore failing tests + +2007-02-01 Raphael Neider + + * src/pic/glue.c (picglue,emitSymbolSet,showAllMemmaps): emit the + config words again + +2007-01-31 Borut Razem + + * support/Util/dbuf_string.h: added ATTRIBUTE_PRINTF to dbuf_printf() + if compiled with GCC. Thanks to Raphael Neider + +2007-01-31 Raphael Neider + + * src/pic/pcode.c (isValidIdChar,bankCompare): fuzzy matching of + operand names, handles name and (name + n) for all n, + (sameBank): restructured, also check bank allocation policy, + * src/pic/glue.c (emitPseudoStack): fixed printf arguments, + (pic14_operandsAllocatedInSameBank): check whether to operands + will be allocated into the same bank (i.e., section) to reduce + BANKSEL overhead, queried from pcode.c:sameBank, + (pic14printLocals): reintroduced clustering registers into a single + section: all compiler generated symbols will now reside in one + bank (per file), reducing BANKSEL overhead and code size, + (showAllMemmaps): use local dbuf where possible + +2007-01-29 Raphael Neider + + * src/pic/gen.c (popGetExternal): simplified, mark symbol as used, + (call_libraryfunc): retrieve/create symbol and mark as used, + (genFunction): mark defined functions as non-extern and add again + to code memmap for later output + * src/pic/glue.c (emitPseudoStack): put into own subroutine, + (pic14printLocals): reworked for new symbol emission, + (emitIfNew,pic14_constructAbsMap,emitIvalLabel,emitIvals,emitInitVal, + showAllMemmaps): reworked symbol output using dbufs, added handling + of string literals (still incomplete), + (picglue): removed symbol emission, moved into showAllMemmaps, + (emitSymbolSet): new workhorse for symbol output, + (pic14emitMaps,pic14printPublics,pic14printExterns): commented out + +2007-01-29 Borut Razem + + * src/SDCCmain.c, src/SDCCutil.c: dbuf_splitFile: file extension + component contains the extension separator. + +2007-01-28 Borut Razem + + * sim/ucsim/cmd.src/cmdutil.cc: NUL device is detected as CG_FILE type + on WIN32 + * src/SDCCdwarf2.c, src/SDCCglobl.h, src/SDCCmain.c, src/SDCCutil.c, + src/SDCCutil.h, src/avr/gen.c, src/ds390/gen.c, src/hc08/gen.c, + src/mcs51/gen.c, src/pic/device.c, src/pic/gen.c, src/pic/pcode.c, + src/pic/pcodepeep.c, src/pic/ralloc.c, src/pic16/device.h, + src/pic16/gen.c, src/pic16/main.c, src/pic16/pcode.c, + src/pic16/pcodepeep.c, src/pic16/ralloc.c, src/xa51/gen.c, + src/z80/gen.c, support/Util/MySystem.c: + accept slash and backslash as directory separator on WIN32 and + Cygwin ports + +2007-01-28 Raphael Neider + + * src/pic16/devices.inc, + * device/include/pic16/pic18f[24][23]21.h, + * device/include/pic16/pic18fregs.h, + * device/lib/pic16/libdev/pic18f[24][23]21.c, + * device/lib/pic16/pics.all: added support for the 18f[24][23]21 family + * device/lib/pic16/libio/adc.ignore, + * device/lib/pic16/libio/i2c.ignore, + * device/lib/pic16/libio/usart.ignore: do not build I/O lib for new + family, as gputils do not yet support the devices + * device/lib/pic16/Makefile.subdir: ignore errors on install + * support/scripts/inc2h-pic16.pl: script to generate pic16 device + headers and libraries from gputils .inc files + +2007-01-26 Paul Stoffregen + + * doc/sdccman.lyx: add printf_fast_f precision limitation note + +2007-01-26 Paul Stoffregen + + * doc/sdccman.lyx: add printf benchmarks + +2007-01-25 Paul Stoffregen + + * device/lib/printf_fast.c: fix %c, char promoted to int + * device/lib/printf_tiny.c: fix %c, char promoted to int + +2007-01-25 Paul Stoffregen + + * device/lib/printf_fast.c: fix float overflow check, bug #1525093 + +2007-01-25 Frieder Ferlemann + + * support/regression/tests/swap.c: 64 bit hosts failed + * doc/sdccman.lyx: added preliminary mcs51 printf feature matrix + +2007-01-25 Raphael Neider + + * src/pic/pcode.c (sameBank,FixRegisterBanking): optimize banksels + based on absolute register address, patch by Alex Blond + +2007-01-22 Raphael Neider + + * src/pic/glue.c (pic14emitRegularMap): mark initialized symbols as + emitted, do not emit them again... + +2007-01-22 Raphael Neider + + * src/regression/bank1.c, src/regression/compare6.c, + src/regression/add.c: cosmetic changes + * src/pic/pcode.h: moved GPTRTAG_* here from gen.c + * src/pic/gen.c: fixed global zero and one, + (aopForSym): removed unued code, + (aopGet): assert aop is defined, check and use `index' of + pCodeImmd operands (fixes #1630908), + * src/pic/pcode.c (get_op): added output of generic pointer tag, + (register_reassign): prevent accidental register unification, + (ReuseReg): cosmetic changes (also above) + * src/pic/glue.c (pic14_constructAbsMap,pic14emitRegularMap, + pic14emitStaticSeg): do not emit initialized data, + (printIval*): replaced with working versions, + (pic14createInterruptVect,picglue): use idata for initialized data, + now init data should work in all modules (not only main()), + * device/lib/pic/libsdcc/idata.c: NEW, handle initialized data + +2007-01-21 Borut Razem + + * sim/ucsim/configure.in: introduced macro DD_COPT_NO_IGNORE, + use -fPIC or -fpic if they are supported and not ignored + * src/SDCCval.c: fixed bug introduced by me in rev. #4577 + * support/cpp2/libcpp/lex.c: fixed gcc 4.1.1 warnings + +2007-01-20 Borut Razem + + * src/SDCC.lex, src/SDCCmain.c, sdc/SDCCglobl.h, doc/sdccman.lyx: + implemented RFE #1470316: allow "$" in variable names + +2007-01-20 Raphael Neider + + * device/include/pic/pic14regs.h: reverted accidental wipe of the file + +2007-01-20 Raphael Neider + + * device/lib/pic/libdev/devices.txt: device list for mkall.sh + * device/lib/pic/libdev/mkall.sh: script to rebuild all device libs + * device/lib/pic/libdev/pic14ports.txt: device PORT specifications + * support/scripts/inc2h.pl: fixed major .inc parsing bugs, + applied patch from Robert Tate (#1629249) to add PORTs and TRISs + * device/lib/pic/libdev/pic*.c, + * device/include/pic/pic*.h: regenerated with enhanced inc2h.pl + * device/lib/pic/libdev/Makefile.in: show progress + +2007-01-19 Bernhard Held + + * doc/sdccman.lyx: updated "configure options" for autoconf 2.6 + * support/scripts/sdcc_cygwin_mingw32, + * support/scripts/sdcc_mingw32, + * support/scripts/build.mak: replaced --datadir by --datarootdir for + conformance with autoconf 2.6 + +2007-01-19 Raphael Neider + + * src/pic/device.c (register_map): fixed list construction + * src/pic/gen.c (genDivOneByte,genModOneByte): accept result > 1 byte, + (genMod): removed case for genModbits, + (genModbits): removed as now unused/unimplemented + * src/pic/glue.c (picglue): prevent name clash with sources 'init.c' + 2007-01-18 Frieder Ferlemann * support/regression/tests/swap.c: added in response to #1638622