+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
+ placed in access bank. This was necessery because some times they
+ might cross memory bank boundaries. crt0iz.c is *NOT* updated!!!
+ * src/pic16/device.h: added flag OPTIMIZE_CMP to enable some compare
+ optimizations. Currently only compare to unsigned char is implemented,
+ * src/pic16/gen.c: added fReturnIdx array,
+ * (struct resolvedIfx) is moved to gen.h and made public,
+ * (struct _G): added sregsAlloc and sregsAllocSet fields,
+ * (aopForSym): added an optimization to directly store in stack of
+ the operand of a SEND iCode,
+ * (pic16_aopOp): don't return return registers as strings (AOP_STR)
+ but as registers instead (AOP_REG) using the fReturnIdx array,
+ * (pic16_freeAsmop): remove the freed register from the
+ _G.sregsAlloc field,
+ * (pic16_aopGet): in case AOP_STR, the compare to 'a' is changed to
+ a compare of 'WREG',
+ * (pic16_popGetTempRegCond): changed function prototype, now
+ function takes also a bitVector argument v which holds the current
+ set of registers that are allocated for stack access by aopForSym,
+ registers allocated in aopForSym for accessing stack symbols are not
+ any more part of the functions usedRegs field,
+ * (genCall): some times aopOp is called for a stack variable to be
+ send, aopForSym might perform the push, if this is true make sure
+ that genCall doesn't push the variable twice by testing _G.resDirect,
+ * (genFunction): changed testing for unspecified interrupt number
+ from 256 to INTNO_UNSPEC,
+ * modified selection scheme of frame pointer generation. Previously
+ if function did use local registers a frame pointer was generated,
+ now a frame pointer is generated only if function has arguments
+ (that need PLUSW2 register access), or has stack arguments, or the
+ compiler is not instructed to omit the frame pointer,
+ * (genEndFunction): before restoring local registers that were saved
+ in the function preamble, also restore the registers that *might*
+ have been allocated for stack access,
+ * (genRet): removed some old comments,
+ * (genCmp, the active (RN's) version): added a call to the
+ pic16_genCmp_special function to perform the compare with a more
+ robust and optimized way,
+ * (genInline): a feature has been added in inline code generation,
+ which allows a wildcard variable substitution when writing inline
+ assembly. Code is incomplete and experimental therefore undocumented,
+ * (genCast): changed order of aopOp for result and right to allow
+ aopForSym to directly load the result if possible,
+ * src/pic16/genutils.c (selectCompareOp, pic16_genCmp_special): NEW,
+ perform an optimized compare on some selected special occasions,
+ * src/pic16/genutils.h: declaration of resolvedIfx structure from gen.c,
+ * src/pic16/glue.c (pic16createInterrupVect): make sure we never
+ generate an IVT any more,
+ * src/pic16/main.c (pic16_optionsTable): added command line option
+ --optimize-cmp,
+ * (_pic16_initPaths): when calling C preprocessor define pic18fXXXX
+ macro too, when calling assembler define pic18fXXXX *and* __18Fxxxx
+ macros,
+ * src/pic16/NOTES: Raphael Neider added in list of active developers
+ * src/pic16/pcode.c (OPT_TYPE_STR): added strings jumptable_begin and
+ jumptable_end to prevent bug #,
+ * (pic16_pciADDWFC, ADDFWC, COMF, CLRF): added some missing flags in
+ inCond and outCond fields,
+ * src/pic16/pcoderegs.c (pCodeOptime2pCodes): add a fix for bug #,
+ * src/pic16/ralloc.c (serialRegAssign): explicit set willCS to 0 to
+ turn off register spilling,
+ * (packRegsForOneUse): synced with other ports' versions although it
+ is not used currently,
+ * (pic16_packRegisters): added an optimization while reading
+ structure bitfields, some registers may be saved (malloc code is
+ decreased by 80 bytes)
+
+2005-03-12 Vangelis Rokas <vrokas AT users.sourceforge.net>
+
+ * src/SDCCcse.c (cseBBlock): inside 'do operand lookup' loop test if
+ left is a bitfield, if yes, then don't optimize assignment. Perhaps
+ this can be optimized more?
+
+2005-03-10 Raphael Neider <rneider AT web.de>
+
+ * 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"
+
+2005-03-09 Raphael Neider <rneider AT web.de>
+
+ * src/SDCCopt.c (killDeadCode): fixed bug #1156016
+
+2005-03-06 Maarten Brock <sourceforge.brock AT dse.nl>
+
+ * src/SDCCicode.h: moved CRITICAL and ENDCRITICAL from SKIP_IC2 to SKIP_IC
+ * src/mcs51/ralloc.c (willCauseSpill): added check for REG_BIT type,
+ (regTypeNum): set REG_BIT type if necessary
+ * src/mcs51/ralloc.h: added define REG_BIT, used to fix bug 1144613
+ * support/regression/tests/critical.c: check bug 1144613
+
+2005-03-02 Raphael Neider <rneider AT web.de>
+
+ * src/pic16/gen.c (genRightShiftLiteral): fixed bug #1154256
+
+2005-02-26 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+ * src/avr/ralloc.c (serialRegAssign),
+ * src/ds390/ralloc.c (serialRegAssign),
+ * src/hc08/ralloc.c (serialRegAssign),
+ * src/mcs51/ralloc.c (serialRegAssign),
+ * src/pic/ralloc.c (serialRegAssign),
+ * src/pic16/ralloc.c (serialRegAssign),
+ * src/xa51/ralloc.c (serialRegAssign),
+ * src/z80/ralloc.c (serialRegAssign): fixed bug #1105154
+
+2005-02-22 Maarten Brock <sourceforge.brock AT dse.nl>
+
+ * src/SDCCast.c (decorateType): fixed bug 1124787
+
+2005-02-20 Hubert Sack <sack AT digiplan.de>
+ committed by Frieder Ferlemann <Frieder.Ferlemann AT web.de>
+
+ * src/mcs51/peeph.def: added peepholes 3.h-k and 132.a-f from
+ patch #1121755
+
+2005-02-20 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
+
+ * src/SDCCpeeph.def: new keyword "labelRefCountChange" which allows peepholes
+ to keep the correct label reference count when adding/removing references
+ to labels. A peephole file using this is appended to patch #1144962.
+
+2005-02-14 Raphael Neider <rneider AT web.de>
+
+ * device/lib/pic16/libc/string/memccpy.c: changed 3rd argument to char
+ * src/SDCC.lex (process_pragma): fixed to make disable_warning work for PIC16
+ * src/pic16/gen.c (aopForSym, calls to pic16_aopOp): prevent unneccessary
+ retrievals of result operand's value on assignment
+
+2005-02-13 Vangelis Rokas <vrokas AT otenet.gr>
+
+ * device/include/pic16/string.h: modified prototype for memccpy()
+ to memccpy(void *, void *, char, size_t)
+ * src/pic16/gen.c (genFunction, genEndFunction): reenable if-case to
+ check whether to omit frame pointer or not,
+ * (genInline): convert all occurences of "\n" to LF in inline
+ assembler blocks, this helps formatting the inline text,
+ * (pic16_loadFSR0): modified prototype,
+ * (genNearPointerGet, genNearPointerSet): reorganization of code,
+ removed some 8051 legacy code,
+ * (genPackBits): enabled handling bitfields exceeding one byte in size,
+ * src/pic16/ralloc.c (pic16_assignRegisters): clear dynrIdx variable
+ before allocating temporary registers in functions,
+
+2005-02-11 Maarten Brock <sourceforge.brock AT dse.nl>
+
+ * support/regression/tests/bitvars.c: corrected the "fix"
+
+2005-02-10 Maarten Brock <sourceforge.brock AT dse.nl>
+
+ * support/regression/tests/bitvars.c,
+ * support/regression/tests/bitwise.c,
+ * support/regression/tests/rotate.c: "fixed" problems on Alpha
+
+2005-02-10 Raphael Neider <rneider AT web.de>
+
+ * src/pic16/pcode.c (assignToSameBank) : fixed cast to pointer of
+ different size for Alpha
+ * src/pic16/gen.c (genCmpEq) : improved compare with 0
+
+2005-02-09 Raphael Neider <rneider AT web.de>
+
+ * src/SDCC.lex(doPragma) : save and restore warning options as well
+ (also added new stack plus clone- and copyAndFreeSDCCERRG())
+ * have #pragma less_pedantic set the errorlevel to WARNING
+ (fixes #1117001)
+ * (cloneOptimize) : fixed wrong malloc's size
+ * support/Util/SDCCerr.[ch] : made SDCCERRG globally accessible to
+ facilitate correct handling of #pragma (save|restore)
+
+2005-02-09 Maarten Brock <sourceforge.brock AT dse.nl>
+
+ * src/mcs51/gen.c: removed non-standard C nameless struct/union
+
+2005-02-04 Slade Rich <slade_rich AT users.sourceforge.net>
+
+ * src/pic/gen.c : Fix for bugs #1080519 & #1115662.
+
+2005-02-03 Maarten Brock <sourceforge.brock AT dse.nl>
+
+ * device/include/mcs51/c8051f120.h: added declarations for sbit port 2,3&4
+
+2005-02-02 Raphael Neider <rneider AT web.de>
+
+ * src/SDCCast.c (processParms): disabled W_NONRENT_ARGS for pic16 port
+ * src/pic16/gen.c (aopForSym): reenabled special case for function pointers
+ * (pic16_storeForReturn): fixed to allow returning function pointers
+ * (genPackBits): improved accessing full bytes, implemented for GPOINTERs
+ * device/include/pic16/{stddef.h,stdbool.h}: added
+
+2005-02-02 Maarten Brock <sourceforge.brock AT dse.nl>
+
+ * device/include/mcs51/c8051f040.h: added define CPT2_PAGE
+
+2005-02-01 Slade Rich <slade_rich AT users.sourceforge.net>
+
+ * src/pic16/pic16.dsp : Added file graph.c to make it compile under windows
+ * src/pic16/Makefile.bcc : Do not use this file but added file graph.c as it
+ appeared to be required
+
+2005-01-31 Borut Razem <borut.razem AT siol.net>
+
+ * support/scripts/sdcc.nsi: added include/asm/ds390, include/asm/mcs51,
+ include/mcs51 and include/z80 directories to the package
+
+2005-01-26 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+ * src/hc08/gen.c (genFunction): fixed bug #1112752
+
+2005-01-30 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
+
+ * src/mcs51/peeph.def: adapted peephole 258.x to changed gen.c (genAnd)
+
+2005-01-29 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
+
+ * src/mcs51/gen.c (genAnd): accessing LSB/MSB by rotating acc
+
+2005-01-29 Maarten Brock <sourceforge.brock AT dse.nl>
+
+ * device/include/Makefile.in: create/copy mcs51 and z80 include subdirs
+
+2005-01-27 Maarten Brock <sourceforge.brock AT dse.nl>
+
+ * device/include/c8051fxxx.h: removed these 6 files
+ * device/include/mcs51/c8051fxxx.h: added these 11 new files
+
+2005-01-26 Raphael Neider <rneider AT web.de>
+
+ * src/pic16/gen.c (genAssign): fixed assignment from longs
+ in codespace (were cut to three bytes)
+ * (genDummyRead): implemented (except for CODESPACE...),
+ fixed bug #1108575
+ * src/pic16/glue.c (emitStatistics): beautified
+ * device/lib/pic16/libm/Makefile: added include path
+
+2005-01-26 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+ * src/z80/gen.c (aopPut): fixed bug #1103902
+
+2005-01-25 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+ * device/lib/expf.c: fixed bug #1095792
+
+2005-01-24 Vangelis Rokas <vrokas AT otenet.gr>
+
+ * device/lib/pic16/libm: added Math library sources
+
+2005-01-24 Raphael Neider <rneider AT web.de>
+
+ * src/pic16/pcode.h: added second memory operand to pCodeOpReg
+ to enable upcast to pCodeOpReg2 (there is no type tag to
+ differenciate the two and pic16_popGet2p cast into PCOR2)
+ * src/pic16/main.c (_process_pragma): fixed another malloc bug
+ (sizeof(sectNames) changed to sizeof(sectName))
+ Both patches fix segfaults under MinGW.
+
+2005-01-23 Raphael Neider <rneider AT web.de>
+
+ * src/pic16/{device.c,pcode.c}: s/free/Safe_free/g for
+ Safe_[mc]?alloc()'ed variables
+ * src/pic16/gen.c (pic16_aopOp,pic16_popGet): added handling
+ of (byte sized) temporaries (assign them to WREG for now)
+ * src/pic16/main.c (_process_pragma): fixed nasty malloc bug
+ (used sizeof(set *sectSyms) instead of sizeof(struct sectSym)),
+ this might fix SIGSEGVs on MinGW...
+ * src/SDCCopt.c (killDeadCode): restored original behaviour
+ (volatile operands might get thrown away though)
+
+2005-01-23 Vangelis Rokas <vrokas AT otenet.gr>
+
+ * src/pic16/gen.c: fixed bug #1106975,
+ * src/pic16/gen.c: fixed possible bug #1102572, now during TOS
+ pointer update, INTCON is saved, global interrupts are disabled and
+ restored after updateing TOS.
+ * src/SDCC.y, src/SDCC.lex, src/SDCCsymt.c, src/SDCCsymt.h:
+ * added function attribute 'shadowregs' to take advantage of shadow
+ registers,
+ * added function attribute 'wparam' as an alternative to the wparam
+ pragma,
+ * support/Utils/SDCCerr.[ch]: added error E_SHADOWREGS_NO_ISR when
+ user declares a non-ISR function as 'shadowregs',
+ * doc/sdccman.lyx: updated to reflect recent changes of pic16 port
+
+2005-01-22 Vangelis Rokas <vrokas AT otenet.gr>
+
+ * .version: bumped version number to 2.4.8
+ * device/lib/pic16/pics.all: list of PIC18F devices supported by
+ pic16 port,
+ * device/lib/pic16/libio/i2c/: I2C module support library,
+ * device/include/pic16/i2c.h: I2C support library header,
+ * device/lib/pic16/libc/stdio/: standard IO support sources,
+ * (printf_small.c): printf_small() source, supports float print,
+ * (printf_tiny.c): printf_tiny() source, does not support floats,
+ * device/lib/pic16/Makefile.common.in: added OPT_FLAGS macro to
+ enable global optimizations for entire library source, other
+ Makefiles in the source tree are also modified to reflect this,
+ * device/lib/pic16/libc/stdlib/putchar.c (putchar): dummy putchar()
+ function,
+ * doc/sdccman.lyx: updated to reflect new changes,
+ * src/pic16/gen.c (aopForSym): don't handle sym->iaccess in
+ sym->onStack if-case,
+ * src/pic16/main.c (_pic16_keywords): commented out keywords bit,
+ sbit, idata, _idata, xdata, _xdata,
+ * added pragma library, to link an external library, (see doc),
+ * removed command line options, --pomit-config-words, --pomit-ivt,
+ --pleave-reset-vector,
+ * (pic16_finaliseOptions): when define macro SDCC_MODEL_{SMALL/LARGE}
+ when calling assembler to reflect memory model used, also define
+ macro STACK_MODEL_{SMALL/LARGE} when compiling and assembling to
+ reflect stack model used,
+ * src/pic16/ralloc.c (pic16_allocDirReg): when operand is allocated
+ on stack return NULL,
+
+2005-01-22 Daniel Winkler <post AT danielwinkler.de>
+
+ * src/SDCCopt.c (killDeadCode): do not throw iCodes away if one
+ of the operands is volatile. Fixes #1020220
+
+2005-01-22 Daniel Winkler <post AT danielwinkler.de>
+
+ * src/pic16/pcoderegs.c (pCodeOptime2pCodes): reenabled optimization
+ * (OptimizeRegUsage): make sure that there is really no other flow where
+ the first pCode is used
+
+2005-01-22 Raphael Neider <rneider AT web.de>
+
+ * src/pic16/pcoderegs.c (pCodeOptime2pCodes): disabled optimization
+ to fix #1106967 (pCode->seq are not set up correctly)
+
+2005-01-22 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+ * src/SDCCglue.c (glue): make sure code area is declared before the
+ static initialization area.
+
+2005-01-21 Raphael Neider <rneider AT web.de>
+
+ * device/lib/Makefile.in: fixed test for pic16 install dir
+ * device/lib/pic16/*/Makefile*: modified compile flags to enable
+ optimizations
+ * doc/sdccman.lyx: updated banksel optimization, removed --flr-support and
+ added --optimize-goto compiler switch and pragma wparam documentation
+ * src/pic16/pcode.c (pic16_OptimizeBanksel): removed statistics dump
+ * src/pic16/pcodepeep.c (pic16_pCodeOpCopy): fixed copying of WREG, PRODL
+ and PRODH closing bug #1071770 (peephole optimizer)
+
+2005-01-19 Raphael Neider <rneider AT web.de>
+
+ * src/SDCCglobl.h: ensure that PATH_MAX >= 2048 to guarantee
+ cmdLine buffers (used when calling sdcpp...) are large enough
+ (MAX_PATH=256 truncates arguments leading to system halts when
+ used in MinGW...)
+ * src/pic16/gen.c (pic16_sameRegs): relaxed size criterion
+ * (genUminus): rewritten to for efficiency
+ * (genNearPointer[GS]et): enforce reloading of FSR0 (was still
+ used uninitialized in some cases)
+ * (genCast): upcasting a 16bit int to a 24bit GPOINTER may not
+ copy the third byte from the int -- now assumes 0x80 (data memory)
+ * src/pic16/genarith.c (pic16_genPlus): fixed bug when swapping
+ operands (genAddLit expects the iCode's operands to swapped as
+ well), fixed leftover bytes (crashed for short left operands)
+ * (pic16_genMinusDec): performance improvements, removed false
+ PIC14 emitSKPNCs
+ * (pic16_genMinus): fixed to cope with differently sized operands
+ * src/pic16/glue.c (pic16_glue): added new banksel optimization
+ for --obanksel > 1
+ * src/pic16/pcode.c: implemented (first phase of) banksel optimization
+ * src/pic16/graph.[ch]: implementation of directed graphs, used by
+ new banksel optimization
+ * src/pic16/pcoderegs.c (pCodeRegMapLiveRangesInFlow): prevented
+ analysis for temporary registers (segfaults...)
+ * src/pic16/peeph.def: added rule
+
+2005-01-18 Vangelis Rokas <vrokas AT otenet.gr>
+
+ * device/lib/pic16/libc/stdlib/x_ftoa.c: it defines x_ftoa function
+ which converts a float number to its ASCII representation
+ * device/lib/pic16/libc/utils/cnvfrac.S,cnvint.S: support
+ functions to convert the fractional and integer part of a float to ASCII,
+ * device/lib/pic16/libc/stdlib/(calloc.c,free.c, malloc.c,
+ realloc.c): added _MALLOC_SPEC to explicit place variables in data
+ ram
+ * device/include/asm/pic16/features.h: added _CODE, _DATA, _AUTOMEM,
+ _STATMEM macros,
+ * device/include/pic16/adc.h: added GPL info,
+ * src/pic16/gen.c (genIfxpCOpJump): perform an genIfxJump but using
+ a pCodeOp as tested operand,
+ * (genNearPointerGet): optimized bit testing, does not use
+ intermediate register for bit value, test directly instead with
+ BTFSS, BTFSC, works only for single bits,
+ * (genpic16Code): dump the name of the iCode in the asm,
+ * src/pic16/ralloc.c (decodeOp): removed static declaration and
+ renamed to pic16_decodeOp,
+ * (serialRegAssign): do not allocate a temporary register for iCode
+ sequences that test a single bit for 1/0
+
+2005-01-12 Vangelis Rokas <vrokas AT otenet.gr>
+
+ * src/pic16/pcode.[ch]: introduced pic16_stackpnt_*,
+ pic16_framepnt_*, pic16_stack_*, pic1_frame_* pointer variables to
+ access stack and frame pointers. They are initially assigned to
+ point at pic16_pc_fsr1[lh] and pic16_pc_fsr2[lh] variables and other
+ accessing SFRs. Updated all occurences of modification of stack or
+ frame pointer in gen.c and pcode.c,
+ * src/pic16/ralloc.c (serialRegAssign): fixed two bugs with
+ assigning of a literal value to pointers,
+ * src/pic16/main.c (pic16_finiliseOptions): set pre-processor define
+ flag STACK_MODEL_SMALL or STACK_MODEL_LARGE according to the model
+ selected
+
+2005-01-11 Vangelis Rokas <vrokas AT otenet.gr>
+
+ * doc/sdccman.lyx: update documentation about stack pragma, added
+ some info for stack memory models
+
+2005-01-08 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
+
+ * src/pic16/gen.c (DEBUGpc): MSVC 6 does not support macro variable arguments
+
+2005-01-08 Raphael Neider <rneider AT web.de>
+
+ * src/pic16/device.c (pic16_dump_usection): changed naming scheme for
+ udata sections to fix bug #1097823
+
+2005-01-05 Raphael Neider <rneider AT web.de>
+
+ * src/pic16/gen.c (genGenericShift): added handling of differently
+ sized left operand and result
+
2005-01-04 Raphael Neider <rneider AT web.de>
- * src/pic16/gen.c (genIfxJump) fixed inverted skips on CARRY
- * (genIfx) fixed (?) read from uninitialized SPIL_LOC (now assumes CARRY
+ * src/pic16/gen.c (genIfxJump): fixed inverted skips on CARRY
+ * (genIfx): fixed (?) read from uninitialized SPIL_LOC (now assumes CARRY
to hold the condition bit)
* added new version of genCmp (old code available via #define)
* added new version of genShiftLeft/genShiftRight in a generic
way, now supports shifting by negative values
- * (genLeftShiftLiteral, genRightShiftLiteral) use absolute value of
+ * (genLeftShiftLiteral, genRightShiftLiteral): use absolute value of
shiftCount (expected by genGenericShift)
- * src/pic16/genarith.c (genPlus) added code for adding CARRY+literal
- * src/pic16/pcode.c (pic16_OptimizeJumps) removed annoying statistics
+ * src/pic16/genarith.c (genPlus): added code for adding CARRY+literal
+ * src/pic16/pcode.c (pic16_OptimizeJumps): removed annoying statistics
dump
- * (pic16_newpCodeOpLit) changed to cast to unsigned char (as e.g. -32766
+ * (pic16_newpCodeOpLit): changed to cast to unsigned char (as e.g. -32766
is an invalid literal too...)
2005-01-04 Vangelis Rokas <vrokas AT otenet.gr>