* doc/sdccman.lyx: documented #pragma sdcc_hash
[fw/sdcc] / ChangeLog
index 7e4e27e9b64e3705cbc6867b09b0925f18f67473..e6a231b5540db64f66bbabfc4901caa6d61d17fa 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,8 +1,196 @@
-2006-12-36 Borut Razem <borut.razem AT siol.net>
+2007-01-02 Borut Razem <borut.razem AT siol.net>
+
+       * doc/sdccman.lyx: documented #pragma sdcc_hash
+       * support/cpp2/sdcpp.c: allow_naked_hash (value of #pragma sdcc_hash)
+         initialized to 0
+
+2007-01-01 Bernhard Held <bernhard AT bernhardheld.de>
+
+       * src/SDCCast.c (createDo): backPatchLabels() needs falseLabel in
+       empty 'while'-loop to work correctly, see regression test 'while.c'
+       * support/regression/tests/while.c: added
+
+2007-01-01 Borut Razem <borut.razem AT siol.net>
+
+       * support/cpp2/libcpp/directives.c, support/cpp2/libcpp/identifiers.c,
+         support/cpp2/libcpp/init.c, support/cpp2/libcpp/sdcpp-opts.c,
+         support/cpp2/libcpp/sdcpp.c:
+         sdcpp specific pragma/directive/option handling moved to sdcpp.c
+       * doc/sdccman.lyx: reference to the GCC 4.1.1 CPP Manual
+       * support/cpp2/libcpp/mkdeps.c: synchronized with GCC CPP 4.1.1
+
+2006-12-31 Borut Razem <borut.razem AT siol.net>
+
+       * SDCPP synchronized with GCC CPP release version 4.1.1,
+         currently the latest release:
+       * support/cpp2/libcpp, support/cpp2/libcpp/include,
+         support/cpp2/libcpp/include/cpp-id-data.h
+         support/cpp2/libiberty/fopen_unlocked.c
+         support/cpp2/libiberty/md5.c
+         support/cpp2/md5.h
+         support/cpp2/opt-functions.awk
+         support/cpp2/opt-gather.awk
+         support/cpp2/optc-gen.awk
+         support/cpp2/opth-gen.awk:
+         added
+       * support/cpp2/Makefile.in, support/cpp2/auto-host_vc_in.h,
+         support/cpp2/c-incpath.c, support/cpp2/c-incpath.h,
+         support/cpp2/c-ppoutput.c, support/cpp2/c-pretty-print.c,
+         support/cpp2/c-pretty-print.h, support/cpp2/cppdefault.c,
+         support/cpp2/cppdefault.h, support/cpp2/diagnostic.c,
+         support/cpp2/diagnostic.h, support/cpp2/except.h,
+         support/cpp2/hwint.h, support/cpp2/input.h,
+         support/cpp2/intl.h, support/cpp2/move-if-change,
+         support/cpp2/opts.c, support/cpp2/opts.h,
+         support/cpp2/output.h, support/cpp2/prefix.c,
+         support/cpp2/prefix.h, support/cpp2/pretty-print.c,
+         support/cpp2/pretty-print.h, support/cpp2/sdcpp-opts.c,
+         support/cpp2/sdcpp.c, support/cpp2/sdcpp.dsp,
+         support/cpp2/sdcpp.h, support/cpp2/sdcpp.opt,
+         support/cpp2/sdcppa.dsp, support/cpp2/symcat.h,
+         support/cpp2/version.c:
+         modified
+       * support/cpp2/libcpp/charset.c, support/cpp2/libcpp/directives.c,
+         support/cpp2/libcpp/errors.c, support/cpp2/libcpp/expr.c,
+         support/cpp2/libcpp/files.c, support/cpp2/libcpp/identifiers.c,
+         support/cpp2/libcpp/include/cpplib.h, support/cpp2/libcpp/include/line-map.h,
+         support/cpp2/libcpp/include/mkdeps.h, support/cpp2/libcpp/include/symtab.h,
+         support/cpp2/libcpp/init.c, support/cpp2/libcpp/internal.h,
+         support/cpp2/libcpp/lex.c, support/cpp2/libcpp/line-map.c,
+         support/cpp2/libcpp/macro.c, support/cpp2/libcpp/mkdeps.c,
+         support/cpp2/libcpp/symtab.c, support/cpp2/libcpp/system.h,
+         support/cpp2/libcpp/traditional.c, support/cpp2/libcpp/ucnid.h,
+         support/cpp2/libiberty/hashtab.c, support/cpp2/libiberty/hashtab.h:
+         moved
+       * support/cpp2/cppcharset.c, support/cpp2/cpperror.c,
+         support/cpp2/cppexp.c, support/cpp2/cppfiles.c,
+         support/cpp2/cpphash.c, support/cpp2/cpphash.h,
+         support/cpp2/cppinit.c, support/cpp2/cpplex.c,
+         support/cpp2/cpplib.c, support/cpp2/cpplib.h,
+         support/cpp2/cppmacro.c, support/cpp2/cpptrad.c,
+         support/cpp2/cppucnid.h, support/cpp2/hashtab.c,
+         support/cpp2/hashtab.h, support/cpp2/hashtable.c,
+         support/cpp2/hashtable.h, support/cpp2/line-map.c,
+         support/cpp2/line-map.h, support/cpp2/mkdeps.c,
+         support/cpp2/mkdeps.h, support/cpp2/options_vc_in.c,
+         support/cpp2/options_vc_in.h, support/cpp2/opts.sh,
+         support/cpp2/system.h:
+         deleted / moved
+
+2006-12-31 Borut Razem <borut.razem AT siol.net>
+
+       * configure.in, configure: fixed bug #1538756: configure dies if bison
+         and flex are not installed, 2nd try
+
+2006-12-30 Bernhard Held <bernhard AT bernhardheld.de>
+
+       * src/mcs51/peeph.def: renamed rule 400 to 500, moved rule 253.x to
+       400.x for better code in RFE 899102
+
+2006-12-30 Bernhard Held <bernhard AT bernhardheld.de>
+
+       * src/SDCCpeeph.c (deadMove),
+       * src/port.h,
+       * src/mcs51/peep.h: renamed 'op' by 'reg'
+       * src/mcs51/peep.c (isFunc, isCallerSaveFunc): added,
+       (scan4op): small change for removeDeadMove(), added support for
+       'callee saves' and/or PACLL function calls,
+       (removeDeadMove): added, removes superflous 'mov r%1,%2',
+       (removeDeadPopPush): renamed from mcs51DeadMove(), common parts
+       left in new dispatcher mcs51DeadMove()
+       (mcs51DeadMove): dispatcher for removeDeadPopPush() and new
+       removeDeadMove()
+       * src/mcs51/peeph.def: added rule 301 removing superflous 'mov r%1,%2'
+
+2006-12-30 Jesus Calvino-Fraga <jesusc at ece.ubc.ca>
+
+       * support/cpp2/options_vc_in.h, support/cpp2/options_vc_in.c,
+         support/cpp2/sdcppa.dsp: create 'options.h' and 'options.c' under MSVC.
+       * configure.in, configure: fixed buf #1538756: configure dies if bison
+         and flex are not installed
+
+2006-12-30 Borut Razem <borut.razem AT siol.net>
+
+       * support/cpp2/spacs.h: deleted from svn
+       * configure.in, configure: fixed bug #1538756: configure dies if bison
+         and flex are not installed
+
+2006-12-21 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * src/z80/gen.c (assignResultValue): fixed bug when registers overlap,
+         with this z80 passes printf float test when enabled
+       * support/regression/tests/bug1057979.c: typo disabled ds390 float test
+
+2006-12-28 Borut Razem <borut.razem AT siol.net>
+
+       * support/cpp2/config.in, support/cpp2/configure.in,
+         support/cpp2/configure, support/cpp2/Makefile.in:
+         fix for the solaris build
+
+2006-12-27 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+       * src/SDCC.y (type_specifier2, pointer),
+       * src/SDCCsymt.h,
+       * src/SDCCsymt.c (mergeSpec, checkSClass),
+       * support/Util/SDCCerr.c,
+       * support/Util/SDCCerr.h: Parse and validate the restrict keyword
+       * support/valdiag/valdiag.py: Allow test cases to specify
+         required language standard
+       * support/valdiag/tests/restrict.c: New file to test restrict keyword
+       * support/valdiag/tests/tentdecl.c: Supress empty source file error
+
+2006-12-27 Borut Razem <borut.razem AT siol.net>
+
+       * support/cpp2/cppmain.c, support/cpp2/mbchar.[ch]: removed
+       * support/cpp2/libiberty/Makefile.in, support/cpp2/libiberty/sdcpp.dsp:
+         mbchar removed
+       * support/cpp2/libiberty/getpwd.c, support/cpp2/sdcpp.h:
+         fixed for borland C
+       * support/cpp2/libiberty/Makefile.bcc: updated
+       * src/pic16/main.c: fixed #pragma udata handling
+       * src/mcs51/mcs51.dsp: added peep.[ch] to the project
+
+2006-12-26 Bernhard Held <bernhard AT bernhardheld.de>
+
+       * src/SDCCpeeph.c: made labelHashEntry global,
+       made pcDistance, FBYNAME static,
+       (pcDistance): made static, use isComment and isLabel,
+       (deadMove): added,
+       (getLabelRef): added, extracted from labelRefCount(),
+       (labelRefCount): use new getLabelRef(),
+       (callFuncByName): made static, added deadMove,
+       use isComment and isLabel,
+       (newPeepRule): made static, set isLabel,
+       (isLabelDefinition): added parameter isPeepRule to allow '%' in
+       labels from peephole rules,
+       (buildLabelRefCountHash): speed up by running isLabelDefinition() only
+       when isComment or isLabel is set
+       * src/SDCCpeeph.h: added "isLabel" and "visited" to struct lineNode,
+       added labelHashEntry, isLabelDefinition, labelHash and getLabelRef
+       to make them global
+       * src/mcs51/peep.h: added
+       * src/mcs51/peep.c: added, implements mcs51DeadMove()
+       * src/port.h: added peep->deadMove to port structure
+       * src/mcs51/main.c: initialize peep->deadMove with mcs51DeadMove
+       * src/mcs51/peeph.def: renumbered rule 300 to 400, added new rule 300
+       deadMove, finally removed no. 1 and 2
+       * src/mcs51/gen.c,
+       * src/pic/gen.c,
+       * src/z80/gen.c,
+       * src/z80/ralloc.c,
+       * src/pic16/gen.c,
+       * src/ds390/gen.c,
+       * src/hc08/gen.c: mark lines with isComment or isLabel
+       * sim/ucsim/s51.src/uc390hw.cc: don't waist 65535 ticks before CKRDY
+       * .version,
+       * sdcc.spec: bumped version to 2.6.3
+
+2006-12-26 Borut Razem <borut.razem AT siol.net>
 
        * support/cpp2/Makefile.in: added dependency on options.h
        * configure: regenerated
        * support/cpp2/sdcpp.opt, support/cpp2/move-if-change: svn:eol-style native
+       * support/cpp2/Makefile.in: added vasprintf.c
 
 2006-12-25 Borut Razem <borut.razem AT siol.net>
 
          hopefully fixes #1604915 (other device libraries are still affected)
 
 2006-12-10 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
        * src/mcs51/ralloc.c (packRegsForAssign),
        * src/hc08/ralloc.c (packRegsForAssign): fixed bug #1605880