* configure.in,
[fw/sdcc] / ChangeLog
index 6920c3212609c16430fa504dfb3651ded9b2c33e..7064b1262186ac7804d9905664c9f97c5de5f23c 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,288 @@
+2007-07-18 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * 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 <sourceforge.brock AT dse.nl>
+
+       * support/regression/tests/bug1678803.c: new, added
+
+2007-07-14 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * 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 <sourceforge.brock AT dse.nl>
+
+       * 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 <rneider AT web.de>
+
+       * src/pic16/gen.c (genNearPointerSet): fixed handling of literals
+
+2007-07-11 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * 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 <stdbool.h> 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 <sourceforge.brock AT dse.nl>
+
+       * 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 <sourceforge.brock AT dse.nl>
+
+       * 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 <borut.razem AT siol.net>
+
+       * 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 <sourceforge.brock AT dse.nl>
+
+       * 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 <borut.razem AT siol.net>
+
+       * src/SDCCmain.c: fixed bug
+         #1744746: SDCC #4867: broken option --xram-size
+
+2007-06-28 Borut Razem <borut.razem AT siol.net>
+
+       * 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 <borut.razem AT siol.net>
+
+       * 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 <gudjon AT gudjon.org>
+
+       * device/include/mcs51/p89c66x.h: NXP header file, OK to change licence
+
+2007-06-26 Borut Razem <borut.razem AT siol.net>
+
+       * 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 <jesusc at ece.ubc.ca>
+
+       * support/librarian/sdcclib.c: Added feature Requests [1510635]
+         Multiple infiles for sdcclib.
+
+2007-06-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+       * src/SDCCast.c (inlineFindMaxBlockno, createFunction): fixed
+         bug 1731741
+
+2007-06-18 Borut Razem <borut.razem AT siol.net>
+
+       * 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 <sourceforge.brock AT dse.nl>
+
+       * 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 <rneider AT web.de>
+
+       * 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 <Frieder.Ferlemann AT web.de>
+
+       * src/mcs51/peeph.def: added 177.i (mov from a is slightly cheaper)
+
+2007-06-13 Raphael Neider <rneider AT web.de>
+
+       * src/SDCCmain.c: prevent NULL pointer dereference, avoid warning
+
+2007-06-12 Raphael Neider <rneider AT web.de>
+
+       * 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 <borut.razem AT siol.net>
+
+       * 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 <Frieder.Ferlemann AT web.de>
+
+       * src/mcs51/peeph.def: disabled rule 132.d to fix #1734654
+       * support/regression/tests/bug1734654.c: added
+
+2007-06-10 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * src/SDCCast.c (decorateType): optimized '?' for equal operands
+       * src/SDCCicode.c (geniCodeConditional): optimization for bit result
+         with literal operands
+
+2007-06-10 Borut Razem <borut.razem AT siol.net>
+
+       * 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/<target>/main.c
+
+2007-06-09 Borut Razem <borut.razem AT siol.net>
+
+       * 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 <sourceforge.brock AT dse.nl>
+
+       * 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 <rneider AT web.de>
+
+       * 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 <borut.razem AT siol.net>
+
+       * 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 <sourceforge.brock AT dse.nl>
+
+       * src/SDCCast.c(decorateType): better optimize '!!' and comparisons
+
+2007-06-04 Borut Razem <borut.razem AT siol.net>
+
+       * 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 <borut.razem AT siol.net>
+
+       * */Makefile.in: removed annoying warning:
+         Makefile:xx: Makefile.dep: No such file or directory
+
+2007-06-02 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * 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 <borut.razem AT siol.net>
 
        * SDCPP synchronized with GCC CPP release version 4.2.0,
        * 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 supress GCC 4.2.0 c++ warning:
+         temporary solution to suppress GCC 4.2.0 c++ warning:
          deprecated conversion from string constant to `char *'
 
 2007-06-01 Raphael Neider <rneider AT web.de>
        * src/regression/Makefile,
        * src/regression/pcodeopt.c: regression test for the above fix
 
-2007-05-08 Maarten Brock <sourceforge.brock AT dse.nl>
+2007-05-11 Maarten Brock <sourceforge.brock AT dse.nl>
 
        * src/SDCCpeeph.c (labelIsUncondJump): ignore identical labels for
          jumps to self, fixed bug 1717281