X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=ChangeLog;h=bad25b29cefaf540f9cefed7c91e26605c785c71;hb=d25410272593de279e84cf891961c535b8c7fc70;hp=ed443662654e8f037c51f0a092785f326eb7b8bc;hpb=385e73259dae7053602559c58a6e7cf9972d13d3;p=fw%2Fsdcc diff --git a/ChangeLog b/ChangeLog index ed443662..bad25b29 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,985 @@ +2007-01-03 Bernhard Held + + * configure.in: added missing mcs51 in status output + * Makefile.in: add support/regression to SDCC_EXTRA to distclean this + directory + * debugger/mcs51/clean.mk (distclean): remove config.h + * src/clean.mk (clean): remove SDCCy.c, SDCCy.h, SDCClex.c + * support/cpp2/Makefile.in (clean): remove s-options, optionlist, + options.h, s-options-h and options.c + * support/cpp2/clean.mk: unused, removed + * Makefile.common.in, + * main_in.mk, + * as/Makefile.in, + * as/hc08/Makefile.in, + * as/hc08/clean.mk, + * as/mcs51/Makefile.in, + * as/mcs51/clean.mk, + * as/z80/clean.mk, + * as/z80/conf.mk, + * as/z80/Makefile.in, + * as/z80/clean.mk, + * as/link/Makefile.in, + * as/link/hc08/Makefile.in, + * as/link/hc08/clean.mk, + * as/link/mcs51/Makefile.in, + * as/link/mcs51/clean.mk, + * as/link/z80/Makefile.in, + * as/link/z80/clean.mk, + * as/link/z80/conf.mk, + * debugger/mcs51/Makefile.in, + * debugger/mcs51/clean.mk, + * device/include/Makefile.in, + * device/lib/Makefile.in, + * device/lib/mcs51/Makefile.in, + * device/lib/pic/Makefile.in, + * device/lib/pic/Makefile.common.in, + * device/lib/pic/Makefile.subdir, + * device/lib/pic/Makefile.rules, + * device/lib/pic16/libio/Makefile.in, + * device/lib/pic16/Makefile.subdir, + * device/lib/pic16/libdev/Makefile.in, + * device/lib/pic16/Makefile.rules, + * device/lib/pic16/Makefile.common.in, + * sim/ucsim/avr.src/Makefile.in, + * sim/ucsim/main_in.mk, + * sim/ucsim/cmd.src/Makefile.in, + * sim/ucsim/doc/Makefile.in, + * sim/ucsim/gui.src/Makefile.in, + * sim/ucsim/gui.src/obsolete/portmon.src/Makefile.in, + * sim/ucsim/gui.src/serio.src/Makefile.in, + * sim/ucsim/hc08.src/Makefile.in, + * sim/ucsim/libltdl/Makefile.in, + * sim/ucsim/s51.src/Makefile.in, + * sim/ucsim/sim.src/Makefile.in, + * sim/ucsim/sim.src/conf.mk, + * sim/ucsim/xa.src/Makefile.in, + * sim/ucsim/z80.src/Makefile.in, + * src/Makefile.in, + * src/clean.mk, + * src/port.mk, + * support/cpp2/Makefile.in, + * support/librarian/Makefile.in, + * support/librarian/clean.mk, + * support/makebin/Makefile.in, + * support/makebin/clean.mk, + * support/packihx/Makefile.in, + * support/regression/Makefile.in, + * support/regression/ports/ds390/spec.mk, + * support/regression/ports/gbz80/spec.mk, + * support/regression/ports/hc08/spec.mk, + * support/regression/ports/mcs51/spec.mk, + * support/regression/ports/mcs51-large/spec.mk, + * support/regression/ports/mcs51-medium/spec.mk, + * support/regression/ports/mcs51-xstack-auto/spec.mk, + * support/regression/ports/pic14/spec.mk, + * support/regression/ports/pic16/spec.mk, + * support/regression/ports/mcs51-stack-auto/spec.mk, + * support/regression/ports/ucz80/spec.mk, + * support/regression/ports/xa51/spec.mk, + * support/regression/ports/z80/spec.mk: fixed for autoconf 2.6x by + adding a slash after $(top_builddir) and/or adding @datarootdir@ + * configure.in, + * debugger/mcs51/configure.in, + * device/lib/pic/configure.in, + * device/lib/pic16/configure.in, + * sim/ucsim/configure.in, + * support/cpp2/configure.in, + * support/packihx/configure.in: changed AC_PREREQ to 2.60 + * configure, + * debugger/mcs51/configure, + * device/lib/pic/configure, + * device/lib/pic16/configure, + * sim/ucsim/configure, + * support/cpp2/configure, + * support/packihx/configure: generated with autoconf 2.60 + +2007-01-02 Maarten Brock + + * as/link/hc08/lkihx.c (newArea), + * as/link/hc08/lkrloc.c: renamed newArea() to ihxNewArea() + +2007-01-02 Borut Razem + + * doc/sdccman.lyx: documented #pragma sdcc_hash + * support/cpp2/sdcpp.c: allow_naked_hash (value of #pragma sdcc_hash) + initialized to 0 + * support/cpp2/c-ppoutput.c: fixed warning: no newline at end of file + +2007-01-01 Bernhard Held + + * 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 + + * 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 + + * 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 + + * configure.in, configure: fixed bug #1538756: configure dies if bison + and flex are not installed, 2nd try + +2006-12-30 Bernhard Held + + * 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 + + * 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 + + * 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 + + * support/cpp2/spacs.h: deleted from svn + * configure.in, configure: fixed bug #1538756: configure dies if bison + and flex are not installed + +2006-12-29 Maarten Brock + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * doc/sdccman.lyx: added the long missed iCode table + "", added links to wiki + +2006-12-17 Borut Razem + + * 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 + + * 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 + + * device/include/mcs51/C8051F520.h: fixed buggy CPT0MX + +2006-12-11 Jesus Calvino-Fraga + + * device/include/mcs51/cc2430.h: fixed missing ';' + +2006-12-10 Raphael Neider + + * 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 + + * src/mcs51/ralloc.c (packRegsForAssign), + * src/hc08/ralloc.c (packRegsForAssign): fixed bug #1605880 + +2006-12-10 Maarten Brock + + * 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 + + * support/cpp2/sdcc.h: prevent multiple inclusion + * support/cpp2/options.h: deleted + +2006-12-08 Borut Razem + + * support/cpp2/sdcc.h: removed x*alloc() macros + * support/cpp2/libiberty.h: uncommented out x*alloc() declarations + * support/cpp2/Makefile.bcc, support/cpp2/Makefile.in, + support/cpp2/sdcpp.sdc: x*alloc files added to the project + * support/cpp2/system.h: moved #include "sdcc.h" + * support/cpp2/libiberty/xexit.c, support/cpp2/libiberty/xmalloc.c, + support/cpp2/libiberty/xstrdup.c, support/cpp2/libiberty/xstrerror.c: + added + * support/cpp2/sdcppinit.c: added -isysroot, -fsigned-char, + -funsigned-char options + * support/cpp2/sdcppmain.c: fixed bug 1611411 + +2006-12-07 Borut Razem + + * support/cpp2/cpplib.c: reverted sdcpp special handling of _Pragma() + directive + +2006-12-06 Maarten Brock + + * src/SDCCsymt.c (addDecl): fixed bug 1609244 + * src/SDCCmain.c (linkEdit): fixed bug 1609279 + * doc/sdccman.lyx, + * .version: bumped to 2.6.2 because a) it's been a while + b) the linker sources have moved c) the preprocessor is upgraded + +2006-12-04 Frieder Ferlemann + + * support/regression/tests/snprintf.c: some checks + * lib/src/printf_large.c: %bc: read char instead of int from stack + +2006-12-03 Maarten Brock + + * device/include/mcs51/cc2430.h: inserted _XPAGE + +2006-12-02 Jesus Calvino-Fraga + + * device/include/mcs51/cc2430.h: added + +2006-12-02 Maarten Brock + + * device/include/asm/default/features.h, + * device/include/asm/ds390/features.h, + * device/include/mcs51/at89s53.h, + * device/include/ser.h, + * device/include/ser_ir.h, + * device/include/serial.h: changed keywords to double underscore variants, + fixes bug 1590261 some more, thanks Steven Borley + +2006-12-01 Raphael Neider + + * src/pic/pcode.c (register_reassign): do not crash on recursive code + but emit warning (recursion is not supported for pic14) + +2006-11-30 Frieder Ferlemann + + * src/mcs51/peeph.def: added 101.a,b (moves to int/long xdata) + * doc/sdccman.lyx: various small changes, acknowledged Sourceforge + +2006-11-30 Raphael Neider + + * src/pic/device.c (dump_sfr): always emit symbols + * src/pic/glue.c (pic14printPublics): fixed typo + +2006-11-30 Raphael Neider + + * src/pic/device.c (create_pic,ram_map): add memRange entries to PIC + (pic14_getSharebankSize, pic14_getSharebankAddress): replaced with + (pic14_hasSharebank,pic14_isShared,pic14_allRAMShared, + pic14_getSharedStack): NEW, evaluate the memRange entries to locate + a sharebank, use a non-shared bank for the stack if none available + * src/pic/device.h (struct memRange): added linked list next field, + added prototypes for above functions + * src/pic/ralloc.c (initStack): handle shared and banked stacks, + (typeRegWithIdx): accept fixed and unfixed stack registers + * src/pic/pcode.c (pCodeInitRegisters): use new functions to create + the stack, handle shared and banked stack (except for WSAVE), + (insertBankSel): removed useless optimization (will never fire), + (FixRegisterBanking): added optimization for devices with only one + possibly aliased bank of memory, like 16f84 + * src/pic/glue.c (pic14_constructAbsMap): back to udata_ovr, as some + devices have no SHAREBANK in the linker script + * device/include/pic/pic14devices.txt: documented memmap + * device/lib/pic/libdev/Makefile.in: removed --stack-loc again + +2006-11-30 Erik Petrich + + * src/hc08/gen.c (transferRegReg, loadRegFromAop, forceStackedAop, + storeRegToAop, freeAsmop, genPlusIncr, genPlus, genPointerGetSetOfs, + genAnd, genOr, genXor, genLeftShiftLiteral, genRightShiftLiteral, + genhc08Code): switched most of the D (debug) macros to DD (detailed + debug) macros to better control clutter in the generated .asm file. + * src/hc08/gen.c: (forceStackedAop, genUminus, genLeftShift, + genRightShift): fixed bug with non-constant bit shift stored to + a volatile result (SF Open Discussion forum thread #1616749). + Single byte case is not yet optimized. + +2006-11-28 Maarten Brock + + * device/include/asm/mcs51/features.h, + * device/include/malloc.h, + * device/include/stdio.h: changed keywords to double underscore variants, + fixes bug 1590261 + +2006-11-27 Borut Razem + + * support/cpp2/cppexp.c, support/cpp2/hashtable.h, + support/cpp2/Makefile.in, support/cpp2/cppfiles.c, + support/cpp2/output.h, support/cpp2/cppinit.c, + support/cpp2/cpplib.c, support/cpp2/cpplib.h, + support/cpp2/Makefile.bcc, support/cpp2/cpphash.c, + support/cpp2/cppdefault.c, support/cpp2/system.h, + support/cpp2/cpphash.h, support/cpp2/cpplex.c, + support/cpp2/cppdefault.h, support/cpp2/mbchar.c, + support/cpp2/prefix.c, support/cpp2/except.h, + support/cpp2/hwint.h, support/cpp2/cppmacro.c, + support/cpp2/line-map.h, support/cpp2/sdcpp.dsp, + support/cpp2/sdcc.h, support/cpp2/mkdeps.c, + support/cpp2/version.c, support/cpp2/cppmain.c, + support/cpp2/version.h, support/cpp2/hashtable.c, + support/cpp2/cpperror.c: + synchronized with GCC CPP release version 3.3.6, + the latest where cppmain.c still exists. + * support/cpp2/cpptrad.c, support/cpp2/sdcppmain.c, + support/cpp2/sdcppinit.c: added + +2006-11-27 Borut Razem + + * support/cpp2/cpplex.c: + fixed _asm ... _endasm handling bug, introduce with GCC CPP + synchronization + * support/cpp2/cpplib.c: removed definitions of unused variables + +2006-11-26 Borut Razem + + * support/cpp2/libiberty.h: commented out x*alloc() declarations + since they are redefined by macros in support/cpp2/sdcc.h + * support/cpp2/sdcc.h: x*alloc macro redefinition + +2006-11-25 Borut Razem + + * support/cpp2/cppexp.c, support/cpp2/hashtable.h, + support/cpp2/configure, support/cpp2/Makefile.in, + support/cpp2/cppfiles.c, support/cpp2/output.h, + support/cpp2/cppinit.c, support/cpp2/cpplib.c, + support/cpp2/config.h, support/cpp2/cpplib.h, + support/cpp2/Makefile.bcc, support/cpp2/cpphash.c, + support/cpp2/cppdefault.c, support/cpp2/config.in, + support/cpp2/system.h, support/cpp2/cpplex.c, + support/cpp2/cpphash.h, support/cpp2/mbchar.c, + support/cpp2/cppdefault.h, support/cpp2/prefix.c + support/cpp2/hwint.h, support/cpp2/mbchar.h, + support/cpp2/prefix.h, support/cpp2/cppmacro.c, + support/cpp2/configure.in, support/cpp2/intl.h, + support/cpp2/sdcpp.dsp, support/cpp2/acconfig.h, + support/cpp2/sdcc.h, support/cpp2/mkdeps.c, + support/cpp2/version.c, support/cpp2/cppmain.c, + support/cpp2/ansidecl.h, support/cpp2/libiberty.h, + support/cpp2/hashtable.c, support/cpp2/aclocal.m4, + support/cpp2/cpperror.c, + support/cpp2/libiberty/safe-ctype.c, + support/cpp2/libiberty/safe-ctype.h, + support/cpp2/libiberty/splay-tree.c, + support/cpp2/libiberty/obstack.c, + support/cpp2/libiberty/lbasename.c, + support/cpp2/libiberty/splay-tree.h, + support/cpp2/libiberty/obstack.h: + synchronized with GCC CPP release version 3.2.3, + the latest before integration of cpp into gcc + * support/cpp2/except.h, support/cpp2/line-map.c, + support/cpp2/line-map.h, + support/cpp2/libiberty/hex.c, + support/cpp2/libiberty/concat.c, + support/cpp2/libiberty/filenames.h: added + * support/cpp2/intl.c: deleted + +2006-11-24 Borut Razem + + * src/SDCC.y: enabled compilation of empty source file + * support/Util/SDCCerr.[ch]: added sdcc warning 190 - + "ISO C forbids an empty source file" + * device/lib/_startup.c, device/lib/printf_tiny.c: disable warning 190 + if all the code is ifdefed out. + +2006-11-24 Erik Petrich + + * src/hc08/gen.c (genPcall): fix for bug #1601032 + +2006-11-23 Maarten Brock + + * device/include/mcs51/c8051f000.h, device/include/mcs51/C8051F000.h, + * device/include/mcs51/c8051f018.h, device/include/mcs51/C8051F018.h, + * device/include/mcs51/c8051f020.h, device/include/mcs51/C8051F020.h, + * device/include/mcs51/c8051f040.h, device/include/mcs51/C8051F040.h, + * device/include/mcs51/c8051f060.h, device/include/mcs51/C8051F060.h, + * device/include/mcs51/c8051f120.h, device/include/mcs51/C8051F120.h, + * device/include/mcs51/c8051f200.h, device/include/mcs51/C8051F200.h, + * device/include/mcs51/c8051f300.h, device/include/mcs51/C8051F300.h, + * device/include/mcs51/c8051f310.h, device/include/mcs51/C8051F310.h, + * device/include/mcs51/c8051f320.h, device/include/mcs51/C8051F320.h, + * device/include/mcs51/c8051f326.h, device/include/mcs51/C8051F326.h, + * device/include/mcs51/c8051f330.h, device/include/mcs51/C8051F330.h, + * device/include/mcs51/c8051f340.h, device/include/mcs51/C8051F340.h, + * device/include/mcs51/c8051f350.h, device/include/mcs51/C8051F350.h, + * device/include/mcs51/c8051f410.h, device/include/mcs51/C8051F410.h: + Renamed to all upper case as per the standard set by SiLabs + +2006-11-23 Maarten Brock + + * device/include/mcs51/C8051F520.h: new, added + * device/include/mcs51/compiler.h: added link about predefined macros + +2006-11-23 Raphael Neider + + * src/regression/Makefile: add -L path to fresh library + * src/regression/simulate: emphasize FAILED output + * src/regression/create_stc: output _failures from gpsim + * src/regression/compare4.c, + * src/regression/rotate6.c: fixed char literals, + all compile, all run =8-D + + * src/pic/pcode.h: added isPCASMDIR macro + * src/pic/gen.c (genAnd): fixed bit offset + * src/pic/ralloc.c (allocNewDirReg,allocDirReg,allocRegByName, + packBits): unified register numbering schemes, + (newReg): do not insert stack registers into hash table, + (initStack): unpinned pseudo stack, simplified, + (typeRegWithIdx): fixed retrieval of stack registers, + * src/pic/pcode.c (addpCodeComment,sameBank): added, + (pCodeReplace): removed invalid assertion, + (insertPCodeInstruction): fixed newly added labels, + (insertBankSwitch,BankSelect,IsBankChange,DoBankSelect, + FixRegisterBankingInFlow,compareBankFlow,FixBankFlow, + DumpFlow): removed unsed (broken?) code, + (insertBankSel): prevent STATUS from being BANKSELed, + (FixRegisterBanking): rewritten from scratch, implemented generic + optimizations (suppress BANKSELs to same register and to registers + present in all banks), + (AnalyzeBanking): update flow after BANKSELection + + * src/pic/glue.c (pic14_constructAbsMap): emit pseudo stack in + sharebank, let linker place it, mark STKxx symbols as emitted + +2006-11-21 Frieder Ferlemann + + * src/regression/arrays.c, + * src/regression/bank1.c, + * src/regression/bool2.c, + * src/regression/compare7.c, + * src/regression/compare8.c, + * src/regression/compare9.c, + * src/regression/compare10.c, + * src/regression/configword.c, + * src/regression/for.c, + * src/regression/mult1.c, + * src/regression/pointer1.c, + * src/regression/rotate6.c, + * src/regression/string1.c, + * src/regression/struct1.c, + * src/regression/Makefile: make PIC14 regression tests run again + (3 fail, 6 won't compile) + +2006-11-21 Raphael Neider + + * device/include/pic16/pic18f4550.h, + * device/include/pic16/pic18f4455.h, + * device/lib/pic16/libdev/pic18f4550.c, + * device/lib/pic16/libdev/pic18f4455.c: fixed #1578591 and #1595144 + * configure.in: removed superfluous closing bracket + +2006-11-21 Jesus Calvino-Fraga + + * device/lib/expf.c: Fixed bug 1599523: result of expf(x) is + always positive. + +2006-11-21 Raphael Neider + + * src/pic/device.{c,h}: added pic14_getPIC() + * src/pic/gen.c (continueIfTrue,jumpIfTrue): added PIC code, + (genAnd): added PIC code for one case, fixes #1597044 + * src/pic/pcode.c (BankSelect): Ohoh, added generic optimization for + SFRs that are present in all banks (e.g., STATUS) + +2006-11-20 Raphael Neider + + * src/pic/pcode.c: changed inverted ops for DECFSZ/DECFSZW and + INCFSZ/INCFSZW and declared them as changing Z bit, + (insertPCodeInstruction): correctly invert the above instructions, + fixes #1599333, + (DoBankSelect): don't panic on po_immediates + +2006-11-14 Maarten Brock + + * as/link/aslink.h, + * as/link/mcs51/lkihx.c (newArea), + * as/link/mcs51/lkrloc.c: renamed newArea() to ihxNewArea() + * as/link/mcs51/lkihx.c (ihx): output reset vector as start address + +2006-11-11 Raphael Neider + + * src/pic/pcode.c (newpCodeOpBit): search SymbolTab for referenced + bitfield symbols, fixes #1579535 (once more...). + +2006-11-09 Frieder Ferlemann + + * support/regression/generate-cases.py, + * support/regression/fwk/include/testfwk.h, + * support/regression/fwk/lib/testfwk.c: used code pointers, + (about 50kByte less code generated for mcs51) + +2006-11-06 Borut Razem + + * debugger/mcs51/acinclude.m4, debugger/mcs51/aclocal.m4, + debugger/mcs51/configure: fixed failed check because the function + rl_function_of_keyseq isn't in Readline 5.2. Thanks to Ilya Goldberg + who submitted the patch for gpsim. + * debugger/mcs51/configure.in: removed the result message + * debugger/mcs51/Makefile.in: fixed the config.status warning + "... seems to ignore the --datarootdir setting" + +2006-11-03 Maarten Brock + + * device/include/mcs51/c8051f020.h, + * device/include/mcs51/c8051f040.h, + * device/include/mcs51/c8051f060.h, + * device/include/mcs51/c8051f120.h: added PS0, fixed bug 1589279 + * src/z80/gen.c (gencjneshort), + * src/z80/peeph.def: applied patch 1571373, thanks Philipp Krause + +2006-10-31 Borut Razem + + * debugger/mcs51/acinclude.m4, debugger/mcs51/aclocal.m4, + debugger/mcs51/configure: get readline version + +2006-10-30 Borut Razem + + * debugger/mcs51/sdcdb.c: replaced hardcoded "/" with DIR_SEPARATOR_STRING + * debugger/mcs51/acinclude.m4, debugger/mcs51/aclocal.m4, + debugger/mcs51/configure: locate readline even when cross compiling + * support/scripts/sdcc.nsi: include readline5.dll into the setup package + +2006-10-29 Jesus Calvino-Fraga + + * device/include/mcs51/serial_IO.h: putchar() and getchar() using + serial port. + +2006-10-29 Maarten Brock + + * device/include/malloc.h, + * device/lib/calloc.c, + * device/lib/free.c, + * device/lib/malloc.c, + * device/lib/realloc.c: moved definition of struct into sources + * support/regression/tests/malloc.c: use void* for init_dynamic_memory() + +2006-10-29 Maarten Brock + + * as/asx8051.dsp: corrected output directories + * as/link/hc08: new directory for hc08 linker + * as/hc08/aslink.h, as/link/aslink.h, + * as/hc08/aslink.mak, as/link/hc08/aslink.mak, + * as/hc08/clean.mk, as/link/hc08/clean.mk, + * as/hc08/link_hc08.dsp, as/link/hc08/link_hc08.dsp, + * as/hc08/lkaomf51.c, as/link/hc08/lkaomf51.c, + * as/hc08/lkarea.c, as/link/hc08/lkarea.c, + * as/hc08/lkdata.c, as/link/hc08/lkdata.c, + * as/hc08/lkelf.c, as/link/hc08/lkelf.c, + * as/hc08/lkihx.c, as/link/hc08/lkihx.c, + * as/hc08/lklibr.c, as/link/hc08/lklibr.c, + * as/hc08/lkmain.c, as/link/hc08/lkmain.c, + * as/hc08/lkmem.c, as/link/hc08/lkmem.c, + * as/hc08/lkrloc.c, as/link/hc08/lkrloc.c, + * as/hc08/lks19.c, as/link/hc08/lks19.c, + * as/hc08/Makefile.aslink, as/link/hc08/Makefile.aslink, + * as/hc08/Makefile.bcc, as/link/hc08/Makefile.bcc, + * as/hc08/Makefile.in, as/link/hc08/Makefile.in, + * as/link/hc08/conf.mk, + * configure, + * configure.in, + * Makefile.in, + * sdcc.dsw: moved hc08 linker to as/link/hc08 + * as/hc08/lkeval.c, as/link/mcs51/lkeval.c, as/link/lkeval.c, + * as/hc08/lkhead.c, as/link/mcs51/lkhead.c, as/link/lkhead.c, + * as/hc08/lklex.c, as/link/mcs51/lklex.c, as/link/lklex.c, + * as/hc08/lklist.c, as/link/mcs51/lklist.c, as/link/lklist.c, + * as/hc08/lknoice.c, as/link/mcs51/lknoice.c, as/link/lknoice.c, + * as/hc08/lksym.c, as/link/mcs51/lksym.c, as/link/lksym.c, + * as/link/mcs51/aslink.dsp, + * as/link/mcs51/Makefile.in: factored out the common files + * as/hc08/lkstore.c: deleted, use the one already in as/link/ + * as/clean.mk: extra cleaning common files + * as/link/mcs51/strcmpi.c, as/strcmpi.c: moved + * as/link/mcs51/strcmpi.h: deleted, moved protoype to aslink.h + * as/mcs51/asm.h: include sdccconf.h or sdcc_vc.h + +2006-10-29 Raphael Neider + + * src/pic/ralloc.c (newReg): create aliases for registers with + multiple names to fix #1579535 and #1584001, + (regWithIdx,dirregWithName): resolve aliases on lookup + * src/pic/pcode.c (DoBankSelect): die with error message on failing + bankselect + * device/lib/pic/libdev/Makefile.in: move pseudo stack down to 0x4f + to prevent build errors on small devices + +2006-10-28 Raphael Neider + + * src/pic/gen.c (genFunction,genCall): drop "same code page" + assumption within interrupt handlers, fixes #1584940 + * src/pic/glue.c (pic14_constructAbsMap): mark absolute symbols as + "emitted" to avoid emitting them again in udata + +2006-10-27 Jesus Calvino-Fraga + + * device/lib/_putchar.c, device/lib/_getchar.c, device/lib/inituart.c: + Removed. + +2006-10-26 Jesus Calvino-Fraga + + * device/lib/_putchar.c, device/lib/_getchar.c, device/lib/inituart.c: + Initialize uart only if SM0 and SM1 are zero. Also, use flag to turn + on/off CR to CRLF conversion. + +2006-10-25 Frieder Ferlemann + + * doc/sdccman.lyx: updated IRQ section + +2006-10-24 Jesus Calvino-Fraga + + * device/lib/serial_io.c: removed + * device/lib/_putchar.c, device/lib/_getchar.c, device/lib/inituart.c + replacements for serial_io.c + +2006-10-24 Maarten Brock + + * src/z80/main.c (_process_pragma, _parseOptions): fixed bug 1583318 + +2006-10-24 Jesus Calvino-Fraga + + * device/lib/serial_io.c: Default putchar() and getchar() for + mcs51 uses serial port. + +2006-10-23 Maarten Brock + + * src/mcs51/gen.c (movc): improved check for 0 and 1, see RFE 1582704 + +2006-10-23 Frieder Ferlemann + + * support/regression/ports/mcs51/support.c: smaller + _sdcc_external_startup() + * device/lib/mcs51/crtxclear.asm: don't check high byte of l_PSEG + +2006-10-20 Maarten Brock + + * device/lib/gbz80/crt0.s, + * device/lib/gbz80/crt0_rle.s, + * device/lib/gbz80/div.s, + * device/lib/gbz80/fstubs.s, + * device/lib/gbz80/heap.s, + * device/lib/gbz80/mul.s, + * device/lib/gbz80/putchar.s, + * device/lib/gbz80/stubs.s, + * device/lib/z80/crt0.s, + * device/lib/z80/crt0_rle.s, + * device/lib/z80/div.s, + * device/lib/z80/fstubs.s, + * device/lib/z80/heap.s, + * device/lib/z80/mul.s, + * device/lib/z80/putchar.s, + * device/lib/z80/stubs.s: reverted, I was mistaken + +2006-10-20 Frieder Ferlemann + + * src/mcs51/peeph.def: peephole 238.x added check for notvolatile + * support/regression/ports/mcs51/support.c: removed race + condition on TI in _putchar allowing to use serial port mode 0 + +2006-10-20 Borut Razem + + * debugger/mcs51/sdcdb.c: replaced isblank() with isspace() + +2006-10-19 Maarten Brock + + * device/lib/gbz80/crt0.s, + * device/lib/gbz80/crt0_rle.s, + * device/lib/gbz80/div.s, + * device/lib/gbz80/fstubs.s, + * device/lib/gbz80/heap.s, + * device/lib/gbz80/mul.s, + * device/lib/gbz80/putchar.s, + * device/lib/gbz80/stubs.s, + * device/lib/z80/crt0.s, + * device/lib/z80/crt0_rle.s, + * device/lib/z80/div.s, + * device/lib/z80/fstubs.s, + * device/lib/z80/heap.s, + * device/lib/z80/mul.s, + * device/lib/z80/putchar.s, + * device/lib/z80/stubs.s: removed all leading underscores from area names + +2006-10-17 Maarten Brock + + * support/regression/ports/mcs51/support.c: use highest baudrate so the + regression tests are not waiting in the simulator for simulated + transmission of debug output + +2006-10-16 Frieder Ferlemann + + * device/lib/printf_large.c: slightly smaller + * doc/sdccman.lyx: do not use spaces within html links + 2006-10-16 Borut Razem * configure.in, configure, sdccconf_in.h, src/SDCCglobal,