X-Git-Url: https://git.gag.com/?a=blobdiff_plain;ds=sidebyside;f=ChangeLog;h=8734cc7e52c2e51ffb5176e986b9bf7f63a64dbb;hb=9ad3112a0d40d8007803a97abf32198d44a7f561;hp=2a7ccce32b48ff9c1664c1a0221146809fc62334;hpb=e456a4dd52fdd0d4ab33f935beb10ecad22d9e44;p=fw%2Fsdcc diff --git a/ChangeLog b/ChangeLog index 2a7ccce3..eae599bf 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,4 +1,1070 @@ -2007-01-17 Borut Razem +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 supress 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 + * doc/sdccman.lyx: synced version, minor changes + +2007-01-18 Borut Razem + + * SDCClabel.c: fixed bug #1638651: wrong linenumber presented in warning, + thanks to Gunther Jehle + * src/asm.c: don't die if the file drfined in #line couldn't be opened + * src/SDCC.lex, src/SDCCglobal.h, src/SDCCicode.c, src/SDCCsymt.c, + src/SDCCval.c: removed redundant definitions of currFname and mylineno; + use filename in lineno instead. + * SDCCast.c: removed MSVC warning C4018: '==' : signed/unsigned mismatch, + print the file name in ast_print() + +2007-01-18 Borut Razem * support/Util/dbuf_string.c: removed (PTR) cast since it is not defined in MSVC