* src/SDCCpeeph.c: made labelHashEntry global, made pcDistance, FBYNAME static,
[fw/sdcc] / ChangeLog
index 4aaba94ed229dc7faece7aeeac8ecb41ee63944e..a5ea5897e02f3c0ca8982b7bc71984e5f074dbc7 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,217 @@
+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
+
+2006-12-25 Borut Razem <borut.razem AT siol.net>
+
+       * SDCPP synchronized with GCC CPP release version 3.4.6,
+         the latest release before 4.x:
+       * support/cpp2/Makefile.in, support/cpp2/config.h,
+         support/cpp2/configure, support/cpp2/configure.in,
+         support/cpp2/cppdefault.c, support/cpp2/cppdefault.h,
+         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/except.h,
+         support/cpp2/hashtable.c, support/cpp2/hashtable.h,
+         support/cpp2/hwint.h, support/cpp2/intl.h,
+         support/cpp2/line-map.c, support/cpp2/line-map.h,
+         support/cpp2/mkdeps.c, support/cpp2/mkdeps.h,
+         support/cpp2/output.h, support/cpp2/prefix.c,
+         support/cpp2/prefix.h, support/cpp2/sdcpp.dsp,
+         support/cpp2/system.h, support/cpp2/version.c:
+         modified
+       * 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/cppcharset.c,
+         support/cpp2/cppucnid.h, support/cpp2/diagnostic.c,
+         support/cpp2/diagnostic.def, support/cpp2/diagnostic.h,
+         support/cpp2/hashtab.c, support/cpp2/hashtab.h,
+         support/cpp2/input.h, support/cpp2/libiberty/getpwd.c,
+         support/cpp2/libiberty/vasprintf.c, support/cpp2/libiberty/xmemdup.c,
+         support/cpp2/move-if-change, support/cpp2/opts.c,
+         support/cpp2/opts.h, support/cpp2/opts.sh,
+         support/cpp2/pretty-print.c, support/cpp2/pretty-print.h,
+         support/cpp2/sdcpp.opt, support/cpp2/sdcpp-opts.c,
+         support/cpp2/win32, support/cpp2/win32/dirent.c,
+         support/cpp2/win32/dirent.h:
+         added
+       * support/cpp2/sdcpp.c: renamed from sdcppmain.c
+       * support/cpp2/sdcpp.h: renamed from sdcc.h
+       * sdcppinit.c: deleted
+
+2006-12-23 Borut Razem <borut.razem AT siol.net>
+
+       * support/cpp2/cpphash.h, support/cpp2/cpplex.c,
+         support/cpp2/cpplib.[ch], support/cpp2/sdcppinit.c, doc/sdccman.lyx,
+         preproc.c: an other try to fix bug #982435: introduced
+         -pedantic-parse-number command line option and pedantic_parse_number
+         pragma
+
+2006-12-21 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * as/link/mcs51/lkarea.c (lnkarea2): handle absolute areas, restructured
+          BSEG handling,
+         (lnksect2): use --data-loc and --idata-loc as lower bound for ramstart,
+          corrected overlayed areax addresses, warn about memory overlaps
+       * as/mcs51/asmain.c (asmbl): create a new area for every .org directive
+       * src/avr/main.c,
+       * src/ds390/main.c,
+       * src/hc08/main.c,
+       * src/mcs51/main.c,
+       * src/pic16/main.c,
+       * src/pic/main.c,
+       * src/xa51/main.c,
+       * src/z80/main.c,
+       * src/port.h: added xabs_name and iabs_name
+       * src/SDCCglue.c (emitRegularMap): allocate for absolutes with initializer
+         (glue, emitMaps): create and emit maps d_abs and i_abs
+       * src/SDCCglue.h: cosmetic changes
+       * src/SDCCmain.c (setDefaultOptions): idata can start below 0x80
+       * src/SDCCmem.h,
+       * src/SDCCmem.c (initMem): added x_abs, i_abs and d_abs
+         (allocDefault): put absolute, initialized globals in them
+       * support/regression/tests/absolute.c: added absolute bdata test
+       * device/lib/printf_large.c (output_float): moved fpBuffer to stack/xdata
+
+2006-12-20 Borut Razem <borut.razem AT siol.net>
+
+       * support/cpp2/cpphash.h, support/cpp2/cpplex.c: fixed bug #982435
+       * support/regression/tests/preproc.c: renamed from bug-1351710.c,
+         added regression test for bug #982435
+
+2006-12-18 Borut Razem <borut.razem AT siol.net>
+
+       * src/SDCCutil.c: fixed a bug in (get_pragma_token)
+       * src/pic16/main.c, src/SDCC.lex, src/z80/main.c:
+         small cosmetic changes
+       * src/SDCC.lex: (stringLiteral) fixed bug #1351710
+       * support/regression/tests/bug-1351710.c: added regression test
+
+2006-12-18 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
+
+       * doc/sdccman.lyx: added the long missed iCode table
+         "<where is figure II?>", added links to wiki
+
+2006-12-17 Borut Razem <borut.razem AT siol.net>
+
+       * doc/sdccman.lyx, src/pic16/main.c, src/pic/main.c, src/port.h,
+         src/SDCC.lex, src/SDCCutil.[ch], src/z80/main.c,
+         support/Util/SDCCerr.[ch]: removed deprecated pragmas,
+         unified table driven pragma handling, pragma argument type checking
+       * support/Util/dbuf.c: (dbuf_set_size) allow to set size equal to the
+         current one - version 1.1.3
+       * src/SDCCmain.c: (setParseWithComma) substituted brain damaged strtok
+
+2006-12-13 Raphael Neider <rneider AT web.de>
+
+       * src/pic/device.h: removed AssignedMemory structure and macros
+       * src/pic/device.c: removed global finalMapping (linker assigns
+           memory locations),
+         (register_map): add SFRs to remembered memRanges
+         (addMemRange,isSFR,dump_map,dump_sfr,mapRegister,assignRegister,
+         assignFixedRegisters,assignRelocatableRegisters): removed,
+         (setMaxRAM,validAddress): adapted accordingly,
+         (pic14_hasSharebank,pic14_getSharedStack): only report and use
+           reasonably sized sharebanks,
+       * src/pic/ralloc.c (writeUsedRegs): stripped down (remove?),
+         (allDefsOutOfRange): removed unused code,
+       * src/pic/main.c (_process_pragma): removed memmap/maxram pragma
+           handling
+       * src/pic/pcode.c (register_reassign): removed recursion warning,
+           fired far too often,
+       * src/pic/glue.c (emitSymbolToFile,pic14_constructAbsMap): modified
+           to use existing pic14_stringInSet() to avoid duplicate symbols,
+           tidied up the code a bit,
+         (pic14printLocals): added in symmetry to printExterns, replaces
+           writeUsedRegs more or less,
+         (picglue): call new pic14_printLocals(),
+       * device/include/pic/pic*.h: removed #pragma memmap directives,
+           information gathered from include/pic/pic14devices.txt
+       * support/scripts/inc2h.pl: do not emit #pragma memmap lines
+
+2006-12-10 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * device/include/mcs51/C8051F520.h: fixed buggy CPT0MX
+
+2006-12-11 Jesus Calvino-Fraga <jesusc at ece.ubc.ca>
+
+       * device/include/mcs51/cc2430.h: fixed missing ';'
+
+2006-12-10 Raphael Neider <rneider AT web.de>
+
+       * device/lib/pic16/libc/stdio/vfprintf.c,
+       * device/lib/pic16/libc/stdio/printf_small.c,
+       * device/lib/pic16/libc/stdio/printf_timy.c: pop int from stack for
+         char arguments, as char varargs are cast to int by the caller,
+         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
+
+2006-12-10 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * device/include/malloc.h: removed init_dynamic_memory
+       * device/lib/malloc.c: made init_dynamic_memory static and automatically
+         call it once from malloc. Also use _sdcc_heap[] from _heap.c
+       * device/lib/_heap.c: new, added, contains _sdcc_heap[]
+       * device/lib/libsdcc.lib,
+       * device/lib/Makefile.in,
+       * support/regression/ports/mcs51-xstack-auto/spec.mk: added _heap.c
+       * doc/sdccman.lyx: documented use of new _heap.c
+       * support/regression/tests/malloc.c: removed init_dynamic_memory
+       * src/cdbFile.c(spacesToUnderscores): new function,
+         (cdbWriteEndFunction, cdbWriteCLine): use spacesToUnderscores, fixes bug
+         1068030
+       * device/include/tinibios.h: removed defines for putchar and getchar
+       * device/lib/ds390/Makefile.in: added putchar.c
+       * device/lib/ds390/putchar.c: new, added, fixes bug 1465671
+
+2006-12-09 Borut Razem <borut.razem AT siol.net>
+
+       * support/cpp2/sdcc.h: prevent multiple inclusion
+       * support/cpp2/options.h: deleted
+
 2006-12-08 Borut Razem <borut.razem AT siol.net>
 
        * support/cpp2/sdcc.h: removed x*alloc() macros