* sim/ucsim/hc08.src/inst.cc (inst_condbranch): fixed simulation of
[fw/sdcc] / ChangeLog
index d40459009f0cb3014670a1d96957b1d943694631..e5e168181a2388a7dc55c6507a4a772bce31def6 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,459 @@
+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
        * 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,
         should be removed from local register store/restore in/from stack
         block,
         * src/pic16/ralloc.c (pic16_decodeOp): added decode for
-        DUMMY_READ_VOLATILE, 
+        DUMMY_READ_VOLATILE,
 
         * device/include/pic16/adc.h: minor prototype modifications and
         update,