* sim/ucsim/hc08.src/inst.cc (inst_condbranch): fixed simulation of
[fw/sdcc] / ChangeLog
index 99640ebc31ff4be2e4e223373423562d2ea722ee..e5e168181a2388a7dc55c6507a4a772bce31def6 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,4 +1,703 @@
-2005-03-12 Vangelis Rokas <vrokas AT users.sourceforge.net>
+2005-06-19 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+       * sim/ucsim/hc08.src/inst.cc (inst_condbranch): fixed simulation of
+         BGT, BLE, BHI, and BLS instructions
+       * src/hc08/gen.c (outAcc, outBitC, outBitNV, genCmpLt, genCmpGt,
+         genCmpEq): removed
+       * src/hc08/gen.c (genCmpEQorNE, genCmp, branchopCmp, nameCmp,
+         negatedCmp, exchangedCmp, genhc08Code): rewrite of comparison handling,
+         fixes bug #1216342
+       * src/hc08/peeph.def: added rules 2g - 2l for new conditional branches
+        
+2005-06-15 Raphael Neider <rneider AT web.de>
+
+       * src/pic16/NOTES: moved Vangelis from active developers to people to contact
+       * device/include/pic16/{6520.h,8520.h}: fixed configuration bits
+       * src/pic16/gen.c (): prevent iTemps from being considered to be in CODESPACE,
+         fixes bug #1221120; for symbols in CODESPACE get number of bytes to read from
+         OP_SYM_TYPE() instead of OP_SYM_ETYPE()
+
+2005-06-06 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
+
+       * device/include/mcs51/reg764.h: Changed PB0 to PBO as requested by
+         Marcel Telka in bug #1215704
+
+2005-06-02 Slade Rich <slade_rich AT users.sourceforge.net>
+
+       * src/pic/pcode.c : Changed pseudo stack size to 15 to allow WSAVE to be located in shared memory bank.
+
+2005-05-31 Raphael Neider <rneider AT web.de>
+
+       * src/pic16/{gen.c,genarith.c}: replaced sign-extension
+         "CLRF, BTFSC <signbit>, DECF/COMF" with side-effect-free
+         "CLRF, BTFSC <signbit>, SETF"; fixes "long>>9"
+
+2005-05-27 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * device/lib/_strncpy.c: fixed the fix
+
+2005-05-26 Raphael Neider <rneider AT web.de>
+
+       * src/pic16/glue.c (pic16_printIvalChar): fixed _constant_ string
+         initializers with \0, bug #1208187
+       * src/pic/glue.c (printIvalChar): fixed (non- and constant) string
+         intializers with \0, bug #1208187
+
+2005-05-26 Raphael Neider <rneider AT web.de>
+
+       * src/pic16/glue.c (pic16_printIvalChar): fixed string
+         initializers with \0, bug #1208187
+       * src/pic16/main.c (_process_pragma): added sanity checks
+         for stack position and size, emit warnings when appropriate
+
+2005-05-26 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * device/lib/_strncpy.c: fixed not filling with \0
+
+2005-05-26 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+       * src/SDCCast.c (funcOfType, funcOfTypeVarg, stringToSymbol,
+         createFunction),
+       * src/SDCC.y (external_definition, enumerator, parameter_declaration,
+         compound_statement),
+       * src/SDCCsymt.h,
+       * src/SDCCsymt.c (addSymChain, processFuncArgs): fixed bug #1159134
+
+2005-05-24 Raphael Neider <rneider AT web.de>
+
+       * src/pic16/glue.c (pic16_printGPointerType): fixed #1207796
+
+2005-05-24 Raphael Neider <rneider AT web.de>
+
+       * device/include/pic16/pic18f{442,452,458}.h: fixed wrong
+         TRISE definitions, closes bug #1162453
+
+2005-05-22 Raphael Neider <rneider AT web.de>
+
+       * src/pic16/main.c (_process_pragma): check for missing
+         arguments to pragmas code and udata
+       * device/include/pic16/pic18f{2550,4331,4455,4520}.h:
+         consistency fixes to match other headers (thanks to Jim Paris)
+       * device/lib/pic16/libio/i2c.ignore: 18f4331 provides no I2C
+
+2005-05-21 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * src/SDCCicode.c (isOperandEqual): fixed missing ;
+
+2005-05-19 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * support/regression/tests/bug1198642.c: new test
+       * src/SDCCicode.c (isOperandEqual): fixed bug 1198642
+       * src/SDCCcse.c (findPrevIc): added comment, please have a look
+       * support/scripts/resource.h,
+       * support/scripts/resource.rc,
+       * src/src.dsp: added sdcc.ico to project as icon for sdcc.exe
+       * support/scripts/sdcc.ico: added 32x32 icon
+
+2005-05-18 Raphael Neider <rneider AT web.de>
+
+       * device/lib/pic16/libdev/pic18f*.c,
+       * device/include/pic16/pic18f*.h: updated "sfr" and "at X"
+         keywords to "__sfr" and "__at (X)"
+       * device/include/pic16/pic18fregs.h: added pic18f4520
+       * src/pic16/pcode.c (pic16_pCode2str): fixed (?) bug
+         #1203088 (MPLAB compatibility)
+
+2005-05-17 Raphael Neider <rneider AT web.de>
+
+       * device/include/pic16/pic18f{2550,4331,4455,4520}.h: NEW
+       * device/lib/pic16/libdev/pic18f{2550,4331,4455,4520}.c: NEW
+       * device/lib/pic16/pics.all: added new devices
+       * src/pic16/device.c: added support for pic18f4520
+
+2005-05-16 Raphael Neider <rneider AT web.de>
+       * src/pic16/gen.{c,h}: s/mov2f/pic16_mov2f made public
+       * src/pic16/genarith.c (genAddLit): fixed bug 1202480
+       * src/pic16/pcode.{c,h} (pic16_newpCodeOpBit_simple): NEW
+         convenience function for bit access
+
+2005-05-15 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * device/lib/printf_large.c: fixed bug 1193299
+       * support/regression/tests/bug1057979.c: added test %3.3s
+
+2005-05-15 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
+
+       * device/include/mcs51/8051.h,
+       * device/include/mcs51/8052.h: made parseable with lint
+       * device/include/mcs51/lint.h: added include file for (sp)lint
+       * doc/sdccman.lyx: added doc about use of splint (syntax checking tool)
+       * doc/cdbfileformat.lyx,
+       * doc/test_suite_spec.lyx: hardcoded date to the date of last text change
+
+2005-05-14 Raphael Neider <rneider AT web.de>
+
+       * device/lib/pic16/Makefile.common.in: add --optimize-df to OPT_FLAGS
+       * device/lib/pic16/libc/stdlib/itoa.c (new)
+       * device/lib/pic16/libc/stdlib/Makefile: have itoa.c built
+       * device/lib/pic16/libio/Makefile: exclude subdir according to
+         ${subdir}.ignore for certain PICs (lacking e.g. i2c)
+       * device/lib/pic16/libio/i2c.ignore (new): pic18f1220 has no I2C support
+       * src/pic16/gen.c (genFunction): prevent annoying warning
+       * src/pic16/pcode.c: renamed stack_t to dynstack_t to prevent
+         nameclashes on BeOS
+       * support/cpp2/cppmain.c (cpp_output_string): new
+       * support/cpp2/cpplib.c (_cpp_do__Pragma): fixed _Pragma(""),
+         fixes bug 1116802
+
+2005-05-13 Borut Razem <borut.razem AT siol.net>
+
+       * src/SDCCmain.c (linkEdit): fixed bug 1195202
+
+2005-05-12 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+       * .version: changed to version 2.5.1; back to bleeding edge development
+
+2005-05-11 Borut Razem <borut.razem AT siol.net>
+
+       * doc/sdccman.lyx doc/cdbfileformat.lyx doc/test_suite_spec.lyx:
+         generate PDF version 1.3 documents
+
+2005-05-07 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+       * .version: changed to version 2.5.0
+
+2005-04-27 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
+
+       * doc/sdccman.lyx: updated weblinks, index and smaller updates
+
+2005-04-26 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+       * doc/sdccman.lyx: changed version 2.5.0, documented --std-c89,
+       --std-sdcc89, --std-c99, --std-sdcc99, and the corresponding #pragmas, as
+       well as many smaller updates.
+       * .version: changed to version 2.5.0-pre1
+
+2005-04-26 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
+
+       * src/SDCCmain.c (setIncludePath): added port->target to SDCC_INCLUDE_NAME
+
+2005-04-26 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * support/regression/tests/bug1185672.c: added
+       * src/mcs51/gen.c (aopGetUsesAcc, genCpl, genAnd, genOr, genXor): fixed
+         bug 1185672
+       * src/mcs51/gen.c (genCall): added comments, made it look safer
+       * src/mcs51/gen.c (genEndFunction): simplified
+
+2005-04-25 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * src/mcs51/ralloc.c (serialRegAssign): fixed bug 1189609
+
+2005-04-14 Borut Razem <borut.razem AT siol.net>
+
+       * fixed bug 1045046 - SIGSEGV with really simple code?:
+         src/pic/pcode.c (pCodeInitRegisters)- pseudo stack size increased to 16
+         src/pic/ralloc.c (typeRegWithIdx) - error message on pseudo stack overflow
+
+2005-04-14 Borut Razem <borut.razem AT siol.net>
+
+       * src/pic16/gen.c (genInline), src/pic16/main.c (_process_pragma),
+         src/pic16/device.h: temporarily disabled experimental #inline pragma
+         for 2.5.0 release
+
+2005-04-14 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * device/include/z80/stdio.h,
+       * device/include/z80/string.h: removed these highly incomplete files so
+         SDCC can use the default ones in device/include/
+
+2005-04-14 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+       * src/mcs51/gen.c (genEndFunction): removed unused variable to fix
+       gcc warning.
+       * device/lib/Makefile.in: default PORTINCDIR to the mcs51 subdir to
+       fix sdcpp warnings.
+
+2005-04-12 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * device/include/malloc.h: removed redundant __reentrant prototypes
+       * device/lib/_mullong.c: added working xstack variant in asm (C version
+         doesn't pass regression tests)
+       * device/lib/bpx.c: used __data and made bpx char for mcs51
+       * src/SDCCast.c (decorateType): removed unused GPTYPE_IDATA,
+         (createFunction): fixed bug with xstackPtr
+       * src/SDCCcse.c: corrected comments
+       * src/SDCCopt.c (convertToFcall): fixed warning in MSVC,
+         (killDeadCode, eBBlockFromiCode): removed unused code
+       * src/SDCCsymt.h: removed unused GPTYPE_GPTR and GPTYPE_IDATA,
+         corrected comments
+       * src/mcs51/gen.c (aopForSym, aopPut, toBoolean, unsaveRegisters,
+         assignResultValue, genCall, genFunction, genEndFunction, genAnd,
+         genOr, genXor, genAddrOf): fixed several bugs concerning xstack
+         (genModOneByte): fixed warning in MSVC
+       * src/mcs51/main.c (): added comments
+       * src/mcs51/peeph.def: changed 129 to 129.a, added 129.b, 129.c & 129.d
+
+2005-04-12 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * src/SDCCmain.c (linkEdit): oops, changed one line too many
+
+2005-04-11 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * src/SDCCmain.c (linkEdit): fixed bug with finding crt0.o for z80
+
+2005-04-10 Vangelis Rokas <vrokas AT users.sourceforge.net>
+
+       * src/pic16/glue.c (printIvalChar): fixed bug when emitting
+       characters arrays of larger size than the declared one.
+
+2005-04-10 Borut Razem <borut.razem AT siol.net>
+
+       * src/pic/gen.c (genInline),
+         src/pic/pcode.c (newpCodeAsmDir), (pCode2str),
+         (genericPrint), (unlinkpCodeFromBranch), (compareLabel),
+         (findNextInstruction), (findPrevInstruction),
+         (findInstructionUsingLabel),
+         src/pic/pcode.h: fixed bug #1164907 - Labels not being recognized
+       * src/pic/pcode.c (findLabel): added missing '\n'
+       * src/src.dsp: added SDCCdwarf2.c to the project
+
+2005-04-09 Borut Razem <borut.razem AT siol.net>
+
+       * support/scripts/sdcc.nsi: added include/hc08/* h to NSIS setup
+
+2005-04-08 Raphael Neider <rneider AT web.de>
+
+       * src/pic16/pcode.c: added helpers defmapInsertAfter (insert a new item
+         into the chain after a given one) and mergeDefmapSymbols (combine
+         defmap entries for each symbol per pcode)
+       * (createDefmap): have defmap entries merged in the end
+       * (defmapReplaceSymRef): split defmap entries covering two accesses to
+         a symbol before replacing one access type's symbol, merge symbols in
+         the end (replacement symbol might already have an entry)
+       * (assignValnums): keep reference to written WREG intact
+
+2005-04-08 Raphael Neider <rneider AT web.de>
+
+       * src/pic16/pcode.c (struct defmap_s): named anonymous union (for
+         Alpha)
+
+2005-04-08 Vangelis Rokas <vrokas AT users.sourceforge.net>
+
+       * src/pic16/pcode.c (pic16_get_op2): enlarged size of array b to 128
+       bytes
+
+2005-04-07 Raphael Neider <rneider AT web.de>
+
+       * device/include/pic16/usart.h: added compatibility defines for
+         devices with more than one USART
+       * device/include/pic16/pic18f[68][567]20.h: activated above defines
+
+2005-04-07 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * device/lib/Makefile.in: updated for port specific include
+
+2005-04-07 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * support/regression/ports/mcs51/spec.mk: added mcs51 include
+
+2005-04-07 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * device/include/8051.h,
+       * device/include/8052.h,
+       * device/include/at89S8252.h,
+       * device/include/at89c55.h,
+       * device/include/at89x051.h,
+       * device/include/at89x51.h,
+       * device/include/at89x52.h,
+       * device/include/mcs51reg.h,
+       * device/include/reg51.h,
+       * device/include/reg764.h,
+       * device/include/regc515c.h,
+       * device/include/sab80515.h: (re)moved these 12 files
+       * device/include/mcs51/8051.h,
+       * device/include/mcs51/8052.h,
+       * device/include/mcs51/at89S8252.h,
+       * device/include/mcs51/at89c55.h,
+       * device/include/mcs51/at89x051.h,
+       * device/include/mcs51/at89x51.h,
+       * device/include/mcs51/at89x52.h,
+       * device/include/mcs51/mcs51reg.h,
+       * device/include/mcs51/reg51.h,
+       * device/include/mcs51/reg764.h,
+       * device/include/mcs51/regc515c.h,
+       * device/include/mcs51/sab80515.h: and added them here
+
+2005-04-06 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * device/include/stdarg.h: changed SDCC specific keywords to double
+         underlined form.
+       * device/include/stdint.h: changed intptr_t and uintptr_t for others than
+         mcs51 and ds390.
+       * device/include/hc08/mc68hc908gp32.h,
+       * device/include/hc08/mc68hc908jb8.h,
+       * device/include/hc08/mc68hc908jkjl.h,
+       * device/include/hc08/mc68hc908qy.h: fixed comments
+       * device/include/mcs51/README: updated
+       * device/include/mcs51/c8051f120.h: added PINRSF
+       * device/lib/pic16/libc/stdlib/crc16.c: fixed comments
+       * src/pic16/pcode.c: MSVC6 doesn't accept declaring new variables
+         amidst code. Also inline is not supported.
+
+2005-04-06 Raphael Neider <rneider AT web.de>
+
+       * src/pic16/pcode.c (pic16_pCodeReplace): also update pcflow->end
+       * (createDefmap): fixed CALLs to depend on FSR1 and RETLW to restore
+         callers stack/frame pointers
+
+2005-04-06 Vangelis Rokas <vrokas AT users.sourceforge.net>
+
+       * device/include/pic16/usart.h: added, missing in previous commit,
+       * device/include/pic16/adc.h: fixed typo,
+       * device/lib/pic16/libc/utils/cvtdec.S: added missing in previous
+       commit,
+       * device/lib/pic16/libc/stdlib/g_ftoa.S: modified to include
+       <p18fxxx.inc>
+       * device/lib/pic16/libc/stdio/streams.c: leave stdin, stdout
+       uninitialized because a bug appears with gplink
+       * device/lib/pic16/{some makefiles}: moved $(CSTD) from CFLAGS to
+       COMPILE_FLAGS and added CPPFLAGS with -nostdinc because sdcpp
+       complains for unrecognised option
+
+2005-04-05 Raphael Neider <rneider AT web.de>
+
+       * src/pic16/gen.c (pic16_popCopyReg): made copying work for extended
+         structs as well (using memcpy)
+       * (genFunction): fixed comparison, used pCodeOpLabel to reduce warning
+         on ISRs (GOTO has no label)
+       * src/pic16/device.h: added OF_OPTIMIZE_DF
+       * src/pic16/main.c: added compiler switch --optimize-df to enable the
+         new data flow analysis/optimization
+       * src/pic16/pcode.c: added (prototypes for and implementation of)
+         dataflow analysis functions, fixed pCodeInstructions' inCond and
+         outCond values, made RCALL a branch instruction
+       * (pic16_unlinkpCode): keep C line if possible
+       * (pic16_pCodeUnlink): removed cast on left side of assignment, have
+         C line moved if possible
+       * (pic16_getRegFrompCodeOp): NEW, improved version of...
+       * (pic16_getRegFromInstruction,pic16_getRegFromInstruction2): changed
+         to use new pic16_getRegFrompCodeOp (works for more SFRs)
+       * (pic16_BuildFlow): fixed skip instructions with label (did not start
+         new flow)
+       * (pic16_getJumptabpCode): NEW, needed in...
+       * (LinkFlow): fixed handling of jumptables, calls and conditional
+         branches
+       * (pic16_InsertCommentAfter): NEW
+       * (pic16_pCodeReplace): made verbose and flow preserving
+       * (AnalyzeFlow): added call to data flow analysis
+       * src/pic16/pcode.h: added defmaps to pCodeFlow struct
+       * src/pic16/pcodeflow.h: added PCC_STATUS to mean all STATUS bits
+       * src/pic16/ralloc.c (packRegsForAssign): added return 1 in the end
+
+2005-04-03 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+       * src/SDCCast.c (decorateType): fixed bug #1105626
+
+2005-04-02 Vangelis Rokas <vrokas AT users.sourceforge.net>
+
+        * device/include/asm/pic16/features.h,
+        * pic18f*.h headers,
+        * device/include/pic16/adc.h,
+        * device/include/pic16/delay.h,
+        * device/include/pic16/i2c.h,
+        * device/include/pic16/malloc.h,
+        * device/include/pic16/stdio.h,
+        * device/include/pic16/stdlib.h,
+        * device/include/pic16/string.h,
+        * device/lib/pic16/libc/stdio/printf_tiny.c,
+        * device/lib/pic16/libc/stdio/printf_small.c,
+        * device/lib/pic16/libc/stdio/strmgpsim.c,
+        * device/lib/pic16/libc/stdio/strmmssp.c,
+        * device/lib/pic16/libc/stdio/strmusart.c,
+        * device/lib/pic16/libc/stdio/vfprintf.c,
+        * device/lib/pic16/libc/stdlib/ltoa.c,
+        * device/lib/pic16/libc/stdlib/putchar.c,
+        * device/lib/pic16/libc/stdlib/x_ftoa.c,
+        * device/lib/pic16/libc/stdlib/memchrpgm.c,
+        * device/lib/pic16/libc/stdlib/memchrram.c,
+        * device/lib/pic16/libc/stdlib/memcpypgm2ram.c,
+        * device/lib/pic16/libc/stdlib/memcpyram2ram.c,
+        * device/lib/pic16/libio/adc/adcbusy.c,
+        * device/lib/pic16/libio/adc/adcread.c,
+        * device/lib/pic16/libio/adc/adcsetch.c,
+        * device/lib/pic16/libio/usart/ubaud.c,
+        * device/lib/pic16/libio/usart/ubusy.c,
+        * device/lib/pic16/libio/usart/udrdy.c,
+        * device/lib/pic16/libio/usart/uopen.c,
+        * device/lib/pic16/libio/usart/uputc.c,
+        * device/lib/pic16/libsdcc/gptr/gptrget1.c,
+        * device/lib/pic16/libsdcc/gptr/gptrget2.c,
+        * device/lib/pic16/libsdcc/gptr/gptrget3.c,
+        * device/lib/pic16/libsdcc/gptr/gptrget4.c,
+        * device/lib/pic16/libsdcc/gptr/gptrput1.c,
+        * device/lib/pic16/libsdcc/gptr/gptrput2.c,
+        * device/lib/pic16/libsdcc/gptr/gptrput3.c,
+        * device/lib/pic16/libsdcc/gptr/gptrput4.c: modified all SDCC
+        specific keywords to double underlined form,
+        * device/lib/pic16/libc/Makefile.rules,
+        * device/lib/pic16/libsdcc/Makefile.rules,
+        * device/lib/pic16/libm/Makefile,
+        * device/lib/pic16/libio/Makefile.rules: added CSTD macro in CFLAGS
+        to compile with C standard set in Makefile.common
+        * device/lib/pic16/libc/stdlib/Makefile: added new C sources
+        rand.c and crc.c in compilation process,
+        * device/lib/pic16/libsdcc/int/divuint.c,
+        * device/lib/pic16/libsdcc/long/divulong.c: changed declaration of
+        `c' from signed to unsigned,
+        * device/lib/pic16/startup/crt0.c,
+        * device/lib/pic16/startup/crt0i.c,
+        * device/lib/pic16/startup/crt0iz.c: adopted to all SDCC specific
+        keywords to double underlined form, bug fixes in _do_cinit function
+        which prevented the correct initialization of the .idata segment,
+        * src/pic16/pcoderegs.c (insideLRBlock): fixed a bug that caused the
+        core to enter a infinite loop
+        * device/lib/pic16/libc/stdlib/rand.c, crc.c: new files
+
+2005-04-02 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+       * src/SDCCicode.c (getArraySizePtr): fixed bug #1122171
+
+2005-04-01 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+       * device/include/Makefile.in: add support for hc08 subdirectory
+       * device/include/hc08/: new subdirectory
+       * device/include/hc08/mc68hc908jkjl.h: new header contributed by
+       Lucas Loizaga, thanks!
+       * device/include/hc08/mc68hc908qy.h,
+       * device/include/hc08/mc68hc908gp32.h,
+       * device/include/hc08/mc68hc908jb8.h: moved hc08 register defs to
+       their own directory. Changed internal macro names to use the compiler
+       reserved namespace. Changed SDCC specific keywords to double
+       underlined form.
+       * device/include/math.h,
+       * device/include/malloc.h,
+       * device/include/stdarg.h,
+       * device/include/stdbool.h
+       * device/include/string.h,
+       * device/include/tinibios.h,
+       * device/include/ds400rom.h,
+       * device/include/8051.h,
+       * device/include/8052.h,
+       * device/include/80c51xa.h,
+       * device/include/at89c55.h,
+       * device/include/at89S8252.h,
+       * device/include/at89x51.h,
+       * device/include/at89x52.h,
+       * device/include/ds80c390.h,
+       * device/include/reg764.h,
+       * device/include/regc515c.h,
+       * device/include/sab80515.h,
+       * device/include/mcs51/c8051f000.h,
+       * device/include/mcs51/c8051f018.h,
+       * device/include/mcs51/c8051f020.h,
+       * device/include/mcs51/c8051f040.h,
+       * device/include/mcs51/c8051f060.h,
+       * device/include/mcs51/c8051f120.h,
+       * device/include/mcs51/c8051f300.h,
+       * device/include/mcs51/c8051f310.h,
+       * device/include/mcs51/c8051f320.h,
+       * device/include/mcs51/c8051f330.h,
+       * device/include/mcs51/c8051f350.h,
+       * device/include/z180.h: Changed SDCC specific keywords to double
+       underlined form.
+
+2005-03-31 Vangelis Rokas <vrokas AT users.sourceforge.net>
+
+       * src/pic16/device.c (Pics16[]): added devices 18F2550, 18F4331,
+        18F4455,
+        * (pic16_assignConfigWordValue): disable testing of configuration
+        register value with config mask,
+        * src/pic16/gen.c (pic16_testStackOverflow): prefix stack test
+        function with port->fun_prefix,
+        * (genFunction): when generating a naked interrupt function never
+        create an absolute segment placed in interrupt vector address, place
+        the actual interrupt function at IVA instead, when an interrupt
+        function is generated with unspecified interrupt then do not create
+        the absolute section,
+        * (genGenPointerGet, genGenPointerSet, genPackBits): replace all
+        code for generating a call to generic pointer get/put function with
+        a call to function pic16_callGenericPointer(),
+        * src/pic16/genutils.c (pic16_callGenericPointerRW): NEW, generates
+        the call to the generic pointer get/put functions with prefixing the
+        function name with port->fun_prefix,
+        * src/pic16/glue.c (pic16glue): ifdef-out test of OF_LR_SUPPORT,
+        * src/pic16/main.c (_process_pragma): prefix function with
+        port->fun_prefix,
+        * (_pic16_finaliseOptions): define macro __18Fxxxx macro when
+        calling assembler, old 18Fxxxx macro is deprecated,
+        * src/pic16/pcode.c (unlinkpCodeFromBranch): added PC_INLINE and
+        PC_ASMDIR in while condition,
+        * (findInstruction): add PC_ASMDIR in while condition,
+        * (buildCallTree): prefix main with port->fun_prefix,
+        * (pic16_pCode2str): fixed bug that didn't emit the memory access
+        identifier for variable with banked access in instructions BTFSS,
+        BTFSC, BCF, BSF, BTG
+        * (AnalyzeFlow): moved call to OptimizepCode to pic16_AnalyzeBanking,
+        * src/pic16/pcodepeep.c (pCodeOpCompare): increase size of b to 1024,
+        * src/pic16/pcoderegs.c (pic16_pCodeRegoptimizeRegUsage): don't
+        perform optimization when enviroment variable NO_REG_OPT is set,
+        * (insideLRBlock): NEW, return 1 if register is inside an
+        INF_LOCALREGS block,
+        * (RemoveRegFromLRBlock): remove a register that is completely
+        eliminated by register optimization, but it is still left in local
+        register store/restore in/from stack block,
+        * (Remove2pcodes): after removing register, check to see if it
+        should be removed from local register store/restore in/from stack
+        block,
+        * src/pic16/ralloc.c (pic16_decodeOp): added decode for
+        DUMMY_READ_VOLATILE,
+
+        * device/include/pic16/adc.h: minor prototype modifications and
+        update,
+        * device/include/pic16/malloc.h: added GPL notice various
+        modifications,
+        * device/include/pic16/stdint.h: NEW, standard header for ints
+        * device/include/pic16/delay.h: NEW, header for delay functions,
+        delay10tcy, delay100tcy, delay1ktcy, delay10ktcy, delay100ktcy,
+        delay1mtcy,
+        * device/include/pic16/signal.h: NEW, header providing helper macros
+        for implementing signal handlers,
+        * device/include/pic16/stdio.h: added prototypes for functions,
+        printf, vprintf, sprintf, vsprintf, fprintf, vfprintf. Added
+        prototypes for stdin and stdout, added macro PUTCHAR to
+        automatically implement putchar function prototype,
+        * device/include/pic16/usart.h: modified and updated USART library,
+        * device/lib/pic16/libio/adc/,
+        * device/lib/pic16/libio/i2c: some modifications to improve library
+        performance,
+        * device/lib/pic16/libc/stdio/: modifications for the new printf*
+        family of functions,
+        * device/lib/pic16/libc/stdlib/: various modifications in the malloc
+        family of functions and other sources,
+        * device/lib/pic16/libio/usart/: NEW, c sources for the usart module
+        of the PIC18Fxx[28] devices,
+        * device/lib/pic16/libc/delay/: NEW, c sources for the delay functions,
+        * device/lib/pic16/libc/utils/: minor modifications in the .S sources,
+        * device/lib/pic16/startup/{crt0i.c, crt0iz.c}: redesign of the
+        _do_cinit function, because the previous failed when local variables
+        where not placed in the same memory bank,
+        * device/lib/pic16/libsdcc/char/: various modifications to improve
+        library performance,
+        * doc/sdccman.lyx: some reorganization of the PIC16 part, added many
+        information on the new functions of the c library and more...
+
+2005-03-28 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+       * src/SDCCBBlock.c (iCodeBreakDown): fixed bug #1170212
+
+2005-03-26 Raphael Neider <rneider AT web.de>
+
+       * src/pic16/gen.c (genSkipc): fixed semantics (execute branch
+         if condition == CARRY)
+       * (genCmp): adapted to new genSkipc semantics
+       * src/pic16/genutils.c (pic6_genCmp_special): removed side effect
+         on rIfx (genCmp was broken)
+
+2005-03-26 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+       * src/SDCCmain.c (setDefaultOptions, optionsTable[], parseCmdLine),
+       * src/z80/main.c (_keywords[]),
+       * src/SDCCglobal.h (struct options),
+       * src/SDCC.y,
+       * src/SDCC.lex (isTargetKeyword, doPragma, pragma_tbl[]): new pragmas
+       to enable/disable SDCC and C99 extensions/keywords (std_c89, std_sdcc89,
+       std_c99, std_sdcc99). Also, equivalent command line options (--std-c89,
+       --std-sdcc89, --std-c99, --std-sdcc99). SDCC specific keywords are
+       always available in leading double underscore form. The C99 support is
+       mostly missing, but it's a start.
+       * support/regression/tests/bug-227710.c: fixed nonconforming use of
+       reserved identifier "__data".
+
+2005-03-24 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * src/mcs51/peeph.def: fixed bug 1170013
+
+2005-03-22 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * device/include/mcs51reg.h: fixed bug 842007
+
+2005-03-21 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+       * src/SDCCcflow.c (dfNumCompare): committed the wrong version of this
+       last time.
+
+2005-03-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+       * src/port.h (struct PORT),
+       * src/avr/ralloc.c (avr_assignRegisters),
+       * src/avr/main.c,
+       * src/ds390/ralloc.c (ds390_assignRegisters),
+       * src/ds390/main.c,
+       * src/hc08/ralloc.c (hc08_assignRegisters),
+       * src/hc08/main.c,
+       * src/mcs51/ralloc.c (mcs51_assignRegisters),
+       * src/mcs51/main.c,
+       * src/pic/ralloc.c (pic14_assignRegisters),
+       * src/pic/main.c,
+       * src/pic16/ralloc.c (pic16_assignRegisters),
+       * src/pic16/main.c,
+       * src/xa51/ralloc.c (xa51_assignRegisters),
+       * src/xa51/main.c,
+       * src/z80/ralloc.c (z80_assignRegisters),
+       * src/z80/ralloc.h,
+       * src/SDCCopt.c (eBBlockFromiCode, replaceRegEqv, killDeadCode),
+       * src/SDCCcse.c (ifxOptimize, cseBBlock, cseAllBlocks),
+       * src/SDCCcse.h,
+       * src/SDCCdflow.c (computeDataFlow),
+       * src/SDCCdflow.h,
+       * src/SDCCloop.c (addDefInExprs, loopInvariants, loopOptimizations),
+       * src/SDCCloop.h,
+       * src/SDCCcflow.c (*),
+       * src/SDCCcflow.h,
+       * src/SDCCBBlock.c (iCodeBreakDown, dumpEbbsToFileExt, eBBWithEntryLabel),
+       * src/SDCCBBlock.h (struct ebbIndex): new struct that keeps two copies
+       of the eBBlock list, sorted by both bbnum and dfnum. (fixes bug with
+       immedDom() returning wrong block; probably fixes bug #1160833)
+
+2005-03-20 Borut Razem <borut.razem AT siol.net>
+
+       * support/scripts/inc2h.pl: WIN32 port
+
+2005-03-19 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * device/lib/makefile.in: added abs.c and labs.c
+
+2005-03-17 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * device/include/stdint.h: added
+       * device/lib/abs.c: added
+       * device/lib/labs.c: added
+       * device/include/stdlib.h: added abs() and labs() prototypes
+       * device/lib/libsdcc.lib: added abs and labs
+       * device/include/float.h,
+       * device/lib/_fsmul.c,
+       * device/lib/printf_fast.c,
+       * device/lib/printf_tiny.c: updated comments
+
+2005-03-16 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+       * src/SDCCicode.c (geniCodeSwitch, geniCodeJumpTable): fixed
+       bug #1164313
+
+2005-03-16 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+       * src/SDCCcse.c (cseBBlock): retain assignment to self when volatile
+       * src/SDCCast.c (isLoopCountable): fixed bug #1161985
+
+2005-03-15 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * device/lib/printf_large.c: removed inline assembly for portability and
+         readability. Use printf_fast if speed or size are more important.
+       * src/pic16/gen.c: removed conditions around use of DEBUGpc
+       * src/pic16/genutils.h: added define for DEBUGpc for MSVC
+
+2005-03-15 Vangelis Rokas <vrokas AT users.sourceforge.net>
+
+       * src/pic16/genutils.c (pic16_genCmp_special): initialized offs to
+       prevent compiler warning
+
+2005-03-14 Vangelis Rokas <vrokas AT users.sourceforge.net>
 
        * device/lib/pic16/startup/crt0i.c (_cinit): local variables where
        moved to level 0 and declared as static. Also they are explicit
        * src/pic16/gen.c (pic16_loadFSR0, genPackBits, genUnpackBits,
          genNearPointerGet): (hopefully) fixed access to bitfields via
          pointers (p->bitN = x; and x = p->bitN; failed)
-       
+
 2005-03-09 Paul Stoffregen <paul AT pjrc.com>
 
        * device/lib/printf_fast.c: fix leading zero format, eg "%02d"