* sim/ucsim/avr.src/arith_inst.cc: fixed bug #1088372- savr is not
[fw/sdcc] / ChangeLog
index ece04471eb8d399a17b8fb563f5dd80e80936ac3..534b51102335e8740bb2bee9b42cd9fc65ce5333 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
+2004-12-26 Borut Razem <borut.razem AT siol.net>
+
+       * sim/ucsim/avr.src/arith_inst.cc: fixed bug #1088372- savr is not
+         built by gcc 3.4.2
+
+2004-12-25 Paul Stoffregen <paul AT pjrc.com>
+
+       * device/lib/printf_tiny.c: printf for mcs51 in only 267 bytes,
+         and fully reentrant and register bank neutral.
+       * device/lib/printf_fast.c: added float (not enabled by default),
+         added compact/slower integer (also not enabled by default), 
+         improved size/speed of fast integer code, other minor changes
+       * device/include/stdio.h, device/lib/Makefile.in,
+         device/lib/libsdcc.lib: integrate printf_tiny into mcs51 build
+
+2004-12-24 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * src/pic16/pcode.c: declaring variables other than at the start of a
+         block is not supported in C by VC6.
+
+2004-12-22 Vangelis Rokas <vrokas AT otenet.gr>
+
+       * applied a previous patch from Raphael Neider that wasn't included
+       in the previous commits, which fixes infinite loops within jumptable
+       improvements,
+       * made some fixes that previous patches introduced
+
+2004-12-21 Vangelis Rokas <vrokas AT otenet.gr>
+
+       * src/pic16/gen.c (pic16_aopGet): applied fix from Raphael Neider
+       that fixes an issue with AOP_PCODE asmop's offset,
+       * (pic16_popCopyReg): update instance field too,
+       * (mov2w): modified to pic16_mov2w because it conflicts with mov2w
+       function of pic port,
+       * (genCmp, genAnd, genAssign),
+       * src/pic16/genarith.c (genAddLit): some fixes from Raphael Neider,
+
+2004-12-20 Vangelis Rokas <vrokas AT otenet.gr>
+
+       * src/SDCCast.c (gatherAutoInit): allow pic16 to emit static
+       variables initial values to idata section,
+       * src/SDCCicode.c (geniCodeCall): patch from ### to fix unreferenced
+       variables in some functions. This utilizes parmBytes field of iCode
+       structure to hold the offset of the variable in stack. (might be
+       able to use the stack field too?)
+       * applied patch from Raphael Neider # ### , # ###
+       * src/pic16/glue.c (pic16emitRegularMap): fix to print static
+       variable initial values in idata section,
+       * src/pic16/ralloc.c (pic16_allocDirReg): don't allocate register
+       for static variables with initial value
+       * src/device/lib/pic16/libsdcc/float/ulong2fs.c (__ulong2fs):
+       applied fix in while loop from Raphael Neider.
+
+2004-12-19 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * src/ds390/gen.c (genCpl): fixed bit=~(char/bit) bugs, added warning
+       * src/ds390/main.c (_ds390_regparm): don't pass bit params in registers
+       * src/ds390/ralloc.c (serialRegAssign): spill bits
+       * src/mcs51/gen.c (genCpl): fixed bit=~(char) bugs, added warning
+       * support/Util/SDCCerr.c,
+       * support/Util/SDCCerr.h: added warning W_COMPLEMENT for using bit=~(bit)
+       * support/regression/tests/bitvars.c: added tests for bitwise complement(~)
+       * support/regression/tests/bitwise.c: added test for bitwise complement(~)
+
+2004-12-09 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * device/include/sdcc-lib.h: inserted LGPL, added includes
+         asm/ds390/features.h and asm/mcs51/features.h
+       * device/include/asm/default/features.h,
+       * device/include/asm/gbz80/features.h,
+       * device/include/asm/z80/features.h: added empty _AUTOMEM
+         and _STATMEM
+       * device/include/asm/ds390/features.h,
+       * device/include/asm/mcs51/features.h: added files with defines for
+         _AUTOMEM and _STATMEM indicating automatic and static storage class
+       * device/lib/printf_large.c (_print_format): optimized & used _AUTOMEM
+       * doc/sdccman.lyx: version 2.4.7, updated xstack documentation
+       * src/SDCCicode.c (geniCodeCast),
+       * src/SDCCsymt.c (compareType): allow cast of data-ptr to idata-ptr
+       * src/SDCCloop.c (loopInduction): removed unused variable lr
+       * src/SDCCopt.c (convilong, convertToFcall): moved "easy special case"
+         to convertToFcall to include char modulo (RFE 1065037), added check
+         if left operand is unsigned and use abs of literal value
+       * src/SDCCpeeph.c (setFromConditionArgs): removed double quotes option
+         as it doesn't work after conversion from peephole.def to peephole.rul
+       * src/mcs51/gen.c (toBoolean): added check for size,
+         (genModOneByte): optimized code for signed char modulo a literal
+         power of 2 (thanks to Hubert Sack),
+         (genRRC): removed unnecessary "clr c",
+         (genRLC): replaced "add a,acc" with cheaper "rlc a"
+       * src/mcs51/peeph.def: renamed 115 to 115.a, added rule 115.b: another
+         jump optimization,
+         swapped rules 256.c and 256.d,
+         extended 256.d by using new multiple checks (thanks Erik),
+         added rules 256.e and 256.f,
+         updated rule 261.a and 261.b to new generated code
+       * support/regression/tests/muldiv.c: added test div/mod by a power of 2
+
+2004-12-07 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+       * src/SDCCloop.c (basicInduction, loopInduction): fixed several
+         induction related bugs, including first part of bug #1074377
+
+2004-12-05 Vangelis Rokas <vrokas AT otenet.gr>
+
+       * applied patch from bug-report #1076292,
+       * applied patches for genAnd and Goto-optimizations for Raphael
+       Neider,
+       * src/SDCCicode.c (printOperand): fixed !REGA source to compile and
+       dump a less iCode information,
+       * src/pic16/device.h (pic16_options_t): added field debgen,
+       * src/pic16/gen.h: added macros DUMP_FUNCTION_ENTRY,
+       DUMP_FUNCTION_EXIT, FENTRY, FENTRY2,
+       * src/pic16/gen.c (my_powof2): renamed to pic16_my_powof2 and made
+       puclic,
+       * (various functions): added macros FENTRY and FENTRY2 to functions,
+       to emit function prologue,
+       * (various functions): fixed indentation,
+       * (genNearPointerGet): fixed loading of FSR0,
+       * (genPackBits): applied patch from Raphael Neider to fix updating
+       of FSR0 and touching only the modified bits,
+       * src/pic16/genarith.c (various functions): added macros FENTRY to
+       emit function prologue in comments,
+       * src/pic16/pcode.h: added functions debugf2, debugf3,
+       * src/pic16/ralloc.c: partial fix for packForPush caused
+       segmentation fault,
+
+2004-12-04 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
+
+       * src/mcs51/peeph.def: added 261.a,b (16 bit rotate) by Stas Sergeev
+         <stsp AT users.sourceforge.net> with reversed byte order
+       * support/regression/tests/rotate.c: added (ds390 skips some tests)
+
+2004-12-03 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+       * src/z80/gen.c (genLeftShift, genRightShift): fixed second part of
+         bug #1074377
+       * src/hc08/gen.c (genrshFour, shiftRLong, shiftLLong),
+       * src/mcs51/gen.c (shiftLLong): Fixed some shifting bugs Frieder found
+
+2004-12-02 Slade Rich <slade_rich AT users.sourceforge.net>
+
+       * src/pic/pcode.c : fixed a problem where banksel was not being inserted.
+
+2004-12-02 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+       * src/SDCCpeeph.c (callFuncByName): support combined peephole rule
+         conditions,
+         (setFromConditionArgs): friendly operand parser for peephole rules,
+         (operandBaseName, operandsNotRelated): new peephole condition
+         "operandsNotRelated" -- similar to "operandsNotSame", but takes
+         architecture specific register naming into account, handles n-way
+         comparisons, and supports quoted literals
+       * src/mcs51/peeph.def: restored rule 177.d with an extra condition
+
+2004-12-02 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
+
+       * src/mcs51/peeph.def: fixed bug #1076940
+
+2004-12-02 Slade Rich <slade_rich AT users.sourceforge.net>
+
+       * device/include/pic/pic16f877.h : added an include file for the PIC16F877 device.
+
+2004-11-28 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
+
+       Adding support for replacing ljmps with sjmps in jumptables
+       generated for switch statements. For now you need to set the
+       environment variable SDCC_SJMP_JUMPTABLE to enable this.
+       Now 4 algorithms for mcs51 jumptable generation are used:
+       ljmp or sjmp jumptables for up to 16 cases, stack-pushing target
+       addresses loaded pc-relative for up to 112 cases and stack-pushing
+       target addresses loaded with offset from dptr for up to 256 cases.
+
+       * src/SDCCpeeph.c: added peephole conditional labelJTInRange
+       * src/mcs51/main.c: adapted constants for switch table generation
+       * src/mcs51/peeph.def: added 260.x for replacing ljmp with sjmp
+
+2004-11-26 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * device/lib/printf_large.c (_print_format): fixed bug 1073386
+       * support/regression/tests/bug1057979.c: added test for bug 1073386
+
+2004-11-25 Vangelis Rokas <vrokas AT otenet.gr>
+
+       * src/pic16/pcode.c: fixed bug which may produce error in non-GNU
+       compilers
+
+2004-11-25 Vangelis Rokas <vrokas AT otenet.gr>
+
+       * src/pic16/device.h,
+       * src/pic16/genarith.c,
+       * src/pic16/glue.c,
+       * src/pic16/main.c,
+       * src/pic16/pcode.c: applied patches #1068154 and #1070213
+
+2004-11-24 Vangelis Rokas <vrokas AT otenet.gr>
+
+       Large cummulative patch for pic16 port.
+       * device/lib/pic16/gstack.h: NEW, user can specify its own handler
+       to call when a stack overflow occurs,
+       * (malloc.h): added CVS Id tag,
+       * (pic18f{242,252,442,452}.h): added T0CONbits structure and
+       variable,
+       * added libc directory. The current version of LibC contains string
+       functions, ctype functions and macros and some functions of the
+       stdlib set (like malloc/free/atof/atoi etc...). All functions are to
+       be extensively tested in the future. Standard disclaimer here.
+       Library is not automatically build yet. But one can build it by
+       invoking 'make' inside the libc directory.
+       * added ADC library under libio. Preliminary version yet.
+
+       * src/pic16/gen.h: added emitTOGC macro, to toggle Carry flag,
+       * src/pic16/gen.c (aopForRemat): asmop size is filled by
+       aopForRemat() now and not by pic16_aopOp(),
+       * (pic16_popGetTempReg): removed warning messgae when allocating
+       temporary registers, its a buggy feature and will be removed,
+       * (pic16_popGet): set register instance field in AOP_CRY,
+       * (pic16_outBitC): fixed for results in size greater than 1,
+       * (genUminusFloat): fixed for pic16, ported code from mcs51,
+       * (pic16_storeForReturn): optimized return of 0,
+       * (genCmp): experimental code for new genCmp which uses PIC18's
+       special compare&skip instructions. Initial tests fail some times
+       with variables grater than 1 byte in size, so new code is disabled,
+       * (genUnpackBits, genPackBits): more optimizations in reading/writing,
+       a single bit,
+       * (genCast): began a fix to optimize the casting of a bit to another
+       bit, now assigning a bitfield to another bitfield will fail, sorry,
+       * src/pic16/main.c: disabled the use of lr-support feature,
+       * src/pic16/pcode.h: renamed PCASMDIR to PCAD,
+       * added some function prototypes, added function _debugf prototype,
+       * src/pic16/pcode.c: (pic16_get_op): fixed emitting operands of register
+       bits with offset (case PO_GPR_BIT),
+       * (genericPrint): don't emit INFO pcode when --pcode-verbose not in
+       command line,
+       * (isBankInstruction): modified to return 0 for no banking instruction,
+       and 1 for banking instruction,
+       * (pic16_isPCinFlow): check for PCAD (assembler directives) too,
+       caused stop processing pCodes after a inline assembly block,
+       * (pic16_popCopyGPR2Bit): updated to match bitfields with offset,
+       * src/pic16/pcoderegs.c: fixed a bug with eliminating some temporary
+       registers when it shouldn't,
+       * src/pic16/ralloc.c (allocReg): add preliminary support for
+       supporting a limited set of temporary registers,
+
+2004-11-23 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+       * src/hc08/gen.c (genAssign, genPointerGetSetOfs, genDataPointerGet,
+         genDataPointerSet): ensure assignments always copy in MSB to LSB
+         order,
+         (loadRegFromAop): recognize CLRH optimization,
+         (genFunction): optimize RECEIVE iCodes in reentrant functions
+
+2004-11-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+       * src/SDCCmain.c (parseCmdLine, optionsTable[]): fixed bug with
+         --out-fmt-s19 turning into --out-fmt-elf if s19 was already
+         selected.
+       * src/SDCCmain.c (linkEdit): don't define SSEG for HC08
+       * src/hc08/main.c (_hc08_setDefaultOptions): default xdata to be
+         contiguous with data
+
+2004-11-19 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
+
+       * device/lib/_gptrget.c (_gptrget),
+       * device/lib/_gptrgetc.c (_gptrgetc),
+       * device/lib/_gptrput.c (_gptrput): _naked allows to use ret
+         instead of sjmp to ret
+       * src/mcs51/peeph.def: added peepholes 3.d-g and 177.g,h provided
+         by Hubert Sack <hsack2002 AT arcor.de> in RFE #1067986, thanks
+
+2004-11-18 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * .version: bumped version to 2.4.7
+       * device/lib/_gptrget.c (_gptrget): is now _naked
+       * device/lib/_gptrgetc.c (_gptrgetc): is now _naked
+       * device/lib/_gptrput.c (_gptrput): is now _naked
+       * src/SDCCast.c (createBlock): removed ridiculous self-assignment,
+         (createFunction): fixed xstack
+       * src/SDCCglue.c (emitMaps): set allocation required for bit area
+       * src/SDCCicode.c (geniCodeCast): don't change SPEC_OCLS for literal
+         or bit either,
+         (geniCodeCritical): store original interrupt state in an iTemp bit
+         var unless stack-auto
+       * src/SDCCicode.h: added CRITICAL and ENDCRITICAL to SKIP_IC2
+       * src/SDCCmain.c (setIncludePath): added include/target to search path
+       * src/SDCCmem.c (allocParms): store bit vars in bit space, not overlay
+       * src/SDCCsymt.c (checkFunction): don't check regbank for isr's against
+         prototype,
+         (processFuncArgs): put bit vars in bit area
+       * src/mcs51/gen.c (saveRegisters, unsaveRegisters, genXpush, saveRBank,
+         unsaveRBank): fixed xstack,
+         (genFunction): bugfix: replaced (global!) reentrant with fReentrant,
+         (genFunction, genEndFunction): fixed xstack,
+         (genAssign): optimization don't walk backwards through mem
+       * src/mcs51/main.c (_mcs51_regparm): don't pass bit params in registers
+       * src/mcs51/ralloc.c (createStackSpil): spill bits to bit area
+       * support/regression/Makefile: also make library (for stack-auto) when
+         making "all" and added "test-mcs51-xstack-auto"
+       * support/regression/fwk/lib/testfwk.c: added T2_isr prototype for mcs51
+       * support/regression/ports/mcs51/T2_isr.c: added this file as a stub
+       * support/regression/ports/mcs51/fwk.lib: added to link T2_isr stub
+       * support/regression/ports/mcs51/spec.mk: added rules for fwk.lib
+       * support/regression/ports/mcs51-stack-auto/spec.mk: replaced
+         make-library by MAKE_LIBRARY
+       * support/regression/ports/mcs51-xstack-auto/spec.mk: file added to run
+         regression tests for xstack
+       * support/regression/tests/bitvars.c: test for bit vars (bug 938782)
+       * support/regression/tests/critical.c: test for critical on mcs51
+
+2004-11-18 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+       * support/regression/ports/ucz80/spec.mk: use include and lib files from
+         built version of sdcc instead of installed version
+
+2004-11-14 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * src/mcs51/gen.c (toBoolean): fixed bug 1065458
+       * device/lib/Makefile.in: z80 uses printf_large.c, sprintf.c and
+         vprintf.c now
+       * device/lib/printf_large.c (calculate_digit): fixed bug 1057979
+       * device/lib/z80/Makefile: don't use printf.c as it fails bug 1057979
+         WARNING: remove device/lib/build/z80/printf.o by hand when
+         updating from previous build!
+       * device/lib/z80/printf.c: updated comment
+       * support/regression/tests/bug1057979.c: test all ports now
+       * support/regression/tests/bug1065458.c: file added
+
+2004-11-12 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+       * src/z80/gen.c (genFunction, genEndFunction): avoided generating
+         *_start and *_end symbols for static functions
+
+2004-11-11 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * src/SDCCmain.c (linkEdit): don't suppress crt0 if --nostdlib is used
+         and search crt0.o in all library paths,
+         (setIncludePath): proper handling of --nostdinc,
+         (setLibPath): proper handling of --nostdlib
+       * support/regression/Makefile,
+       * support/regression/ports/ds390/spec.mk,
+       * support/regression/ports/gbz80/spec.mk,
+       * support/regression/ports/hc08/spec.mk,
+       * support/regression/ports/mcs51/spec.mk,
+       * support/regression/ports/mcs51-large/spec.mk,
+       * support/regression/ports/mcs51-stack-auto/spec.mk,
+       * support/regression/ports/z80/spec.mk: use include and lib files from
+         built version of sdcc instead of installed version
+       * doc/sdccman.lyx: fixed typo in --nostdinc
+
+2004-11-10 Slade Rich <slade_rich AT users.sourceforge.net>
+
+       * src/pic/pcode.c,
+       * src/pic/device.c,
+       * src/pic/ralloc.c,
+       * src/pic/gen.c : added support to generate code for struct bit fields.
+
+2004-11-06 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * as/xa51/xa_version.h,
+       * device/include/errno.h,
+       * device/include/regc515c.h,
+       * device/lib/_itoa.c,
+       * device/lib/_ltoa.c,
+       * device/lib/ser_ir_cts_rts.c,
+       * sim/ucsim/xa.src/glob.cc,
+       * sim/ucsim/xa.src/inst_gen.cc,
+       * sim/ucsim/xa.src/xa_bit.cc,
+       * sim/ucsim/xa.src/xa_sfr.cc,
+       * sim/ucsim/z80.src/inst_dd.cc,
+       * sim/ucsim/z80.src/inst_fdcb.cc,
+       * support/scripts/keil2sdcc.pl,
+       * src/pic16/pic16.dsp,
+       * src/pic16/pic16a.dsp: corrected cvs line endings
+       * device/lib/printf_large.c: fixed bug 1057979
+       * src/pic16/gen.c: fixed non-C standard code
+       * src/SDCCmain.c: made --pack-iram default, added --no-pack-iram
+       * src/SDCCglobl.h: changed pack_iram to no_pack_iram
+       * support/regression/ports/mcs51/support.c: reload T1 asap
+       * doc/sdccman.lyx: updated for options --pack-iram and --no-pack-iram,
+         pdata use and clear idata startup behaviour
+       * support/regression/tests/bug1057979.c: added
+
+2004-11-04 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * device/examples/ds390/ow390/ad26.h,
+       * device/examples/ds390/ow390/cnt1d.h,
+       * device/examples/ds390/ow390/crcutil.c,
+       * device/examples/ds390/ow390/ownet.h,
+       * device/examples/ds390/ow390/owsesu.c,
+       * device/examples/ds390/ow390/swt12.h,
+       * device/examples/ds390/ow390/swtoper.c,
+       * device/examples/ds390/ow390/temp10.h,
+       * device/examples/ds390/ow390/thermodl.c,
+       * device/examples/ds390/tinitalk/tinitalk.dsp,
+       * device/examples/ds390/tinitalk/tinitalk.dsw,
+       * device/examples/mcs51/clock/hw.h,
+       * device/examples/mcs51/simple2/go.bat,
+       * device/examples/serialcomm/windows/serial.h,
+       * device/examples/xa51/dummy.c,
+       * device/examples/xa51/hello.c,
+       * device/include/80c51xa.h,
+       * device/include/at89x051.h: corrected cvs line endings
+
+2004-11-04 Vangelis Rokas <vrokas AT otenet.gr>
+
+       * src/pic16/main.c (options): added command line --gstack, to trace
+       stack over/under flows,
+       * added pragma 'wparam' to allow passing first byte of function
+       parameters via WREG, syntax is #pragma wparam my_function[, func2...]
+       * src/pic16/gen.c (pic16_testStackOverflow): function which emits a
+       call to __gstack_test function and sets up the symbol as extern,
+       * (pic16_pushpCodeOp, pic16_poppCodeOp, pushw, pushaop, popaopidx,
+       * popaop): added call to pic16_testStackOverflow,
+       * (wParamCmp, inWparamList): NEW, test existence of a symbol in
+       wparamList list,
+       * (genCall, genPcall): now all parameters are passed via stack
+       except in functions that are pass to wparam pragma in which WREG is
+       used too,
+       * (genPcall): REENTRANT flag is checked to see if variable prototype
+       contains reentrant keyword, don't call a non-reentrant function, via
+       a reentrant function pointer or vice versa, functions are never
+       passed via WREG,
+       * (genJumpTab): applied patch from bug #1057478 by R.Neider and
+       D.Winkler,
+       * src/pic16/glue.c (pic16emitRegularMap): fixed bug which caused a
+       SIGSEGV when accessing a NULL register stucture,
+       * (pic16_printGPointerType): modified to handle UPPER modifier for
+       function initializers, changed prototype of function to simpler one,
+       * (pic16_printIvalFuncPtr): check to see if function is already
+       added in externs list,
+       * src/pic16/pcoderegs.c (pCodeOptime2pCodes): fixed bug which
+       optimized a move from W to SFR with a move to the same register
+       later after a CALL,
+       * device/lib/pic16/debug: NEW directory, contains debug features
+       which are enabled when linking with libdebug.lib, currently command
+       line option --gstack enables stack pointer tracing for over/under
+       flow, corresponding sources are in debug/gstack
+
+2004-10-30 Vangelis Rokas <vrokas AT otenet.gr>
+
+       * doc/sdccman.lyx: updated SDCC version,
+       * (PIC16 port): update list of command line options,
+       * src/pic16/device.h (structure pic16_options_t): added field gstack
+       to enable stack overflow tracing on push/pops,
+       * src/pic16/device.c (statistics structure): added statistics
+       structure,
+       * (pic16_dump_access, pic16_dump_usection, pic16_dump_gsection,
+       pic16_dump_int_registers): increase statistics counters for each
+       * variable which is encountered
+       * (pic16_dump_usection): emit each .udata variable to its own udata
+       section,
+       * src/pic16/gen.c (assignResultValue, genCall, genPcall, genFunction):
+       when macro USE_WREG_IN_FUNC_PARAMS is set to 0 pass all function
+       parameters via stack, otherwise use old scheme,
+       * src/pic16/glue.c (pic16_emitStatistics): dump statistics in
+       assembler output file,
+       * src/pic16/main.c: added command line options --gstack to enable
+       push/pop tracing for stack overflow,
+       * src/pic16/pcode.c (all pCodeInstruction records for PIC18F
+       instructions): added size of each instruction,
+       * (pic16_countInstruction): estimate size of instructions in
+       the_pFile list, inline assembly blocks are not counted,
+       * (pic16_FixRegisterBanking): trace previous register usage, when
+       banksel optimizations is greater than 0, don't emit a redudant
+       banksel directive,
+
+2004-10-26 Slade Rich <slade_rich AT users.sourceforge.net>
+
+       * src/pic/ralloc.c : fixed inefficient code produced when compiling a complimented bit operation.
+       * src/pic16/ralloc.c : applied same fix for pic16.
+       * src/pic/gen.c : tidied it up a little.
+
+2004-10-25 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
+
+       * src/mcs51/peeph.def: disabled 259.a,b for removing redundant ret,
+       thanks to Martin Helmling for reporting (mail on sdcc-devel 2004-10-25)
+
+2004-10-22 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+       * src/SDCCast.c (reverseParms): fixed bug #1040577 (part 2)
+
+2004-10-22 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
+
+       * device/lib/ser_ir_cts_rts.c: integer promotion caused a call to the
+       non-reentrant function __modsint in the interrupt function (thus
+       corrupting math operations during serial I/O)
+       * device/lib/ser_ir.c: as above, changed buffersize
+       * src/mcs51/peeph.def: added 259.a,b for removing redundant ret,
+       256.c,d for zeroing
+       * doc/Makefile: added option -t for rsync
+
+2004-10-22 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+       * src/SDCCast.h (struct ast),
+       * src/SDCCast.c (reverseParms, copyAst): fixed bug #1040577 (part 1)
+
+2004-10-20 Borut Razem <borut.razem AT siol.net>
+
+       * support/scripts/sdcc.nsi: added include/pic16/*.h to the setup
+       package
+
+2004-10-20 Vangelis Rokas <vrokas AT otenet.gr>
+
+       * device/lib/pic16/libsdcc/Makefile: added lregs directory in
+       makefile targets,
+       * device/lib/pic16/libsdcc/lregs/{Makefile,lrst.c,lrrest.c}: NEW
+       support functions to replace long sequences of MOVFF's from access
+       bank registers to stack and vice versa,
+       * src/pic16/device.h: added new field opt_flags, where optimization
+       flags can be set to enable certain features,
+       * src/pic16/gen.c (pic16_emitpinfo): NEW to add PC_INFO pCode in
+       * pBlock, (genFunction, genEndFunction): surroung loop for
+       saving/loading used registers in stack with PC_INFO pCodes,
+       INF_LREGS. Code in between can then be optimized by pCode optimizer
+       to support function calls,
+       * (genDataPointerSet): fixed bug which loaded float fields in
+       structures with corrupt data,
+       * src/pic16/genutils.c (debugf, _debugf): macro/function which emits
+       in a standard way debug info on stderr. Feature used for developing
+       and debugging only,
+       * src/pic16/glue.c (pic16glue): reformatted, deleted some old and
+       obsolete chunks of code,
+       * if optimization flag OF_LR_SUPPORT was set, call pic16_OptimizeLocalRegs,
+       * src/pic16/main.c (_pic16_parseOptions): added handler for --flr-support,
+       * pic16/src/pcode.c (pic16_newpCodeInfo,
+       * (pic16_newpCodeOpLocalRegs),
+       * (pic16_convertLocalRegs2Support): NEW, to support new optimization
+       feature,
+       * (pic16_pCodeConstString): printing of the initial value of a
+       symbol as a comment is inhibited since parsing was already done by
+       copyStr and output is corrupt,
+       * (pic16_pCode2str, genericPrint): handle PC_INFO pCode,
+
+2004-10-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+       * src/mcs51/ralloc.c (packRegisters): fixed bug #1044601
+
+2004-10-19 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * as/mcs51/lkarea.c: removed old K&R style,
+         (lnksect): changed check on boundary error,
+         (lnksect2): changed check on boundary error,
+         (lnksect2): extend XSTK to end of page if size = 1
+       * as/mcs51/lkmain.c: removed old K&R style,
+         (Areas51): create l_IRAM symbol
+       * as/mcs51/lkmem.c (summary2): added report on PSEG and XSTK
+       * device/lib/Makefile.in: renamed model-mcs51-reentrant to
+         model-mcs51-stack-auto, added model-mcs51-xstack-auto
+       * device/lib/_mullong.c: added version to be compiled with xstack
+       * device/lib/mcs51/crtclear.asm: clear only upto --iram-size
+       * device/lib/mcs51/crtxclear.asm: clear pdata as well
+       * device/lib/mcs51/crtxstack.asm: fixed comment
+       * src/SDCCglue.c: maxInterrupts defaults to 0,
+         (emitMaps): added pdata,
+         (createInterruptVect): (re)moved default,
+         (glue): added pdata,
+         (glue): moved __start__xstack to XSTK with default size 1
+       * src/SDCCmain.c (parseCmdLine): automatically set options.intlong_rent
+         and options.float_rent when options.stackAuto is set,
+         (linkEdit): only write XDATA_NAME if provided on command line
+       * src/SDCCmem.h,
+       * src/SDCCmem.c: added pdata
+       * src/port.h: added pdata_name to PORT
+       * src/mcs51/gen.c (toBoolean): fixed for Acc use of aopGet,
+         (saveRegisters, unsaveRegisters): removed usage of B,
+         (genMinus): fixed accumulator clash,
+         (genJumpTab): added comment, this needs another look
+       * src/mcs51/gen.c: added check for "B in use" paranoia,
+         added pushB() and popB()
+       * src/mcs51/peeph.def: restart after 177.c so 177.a can get a second
+         chance
+       * src/avr/main.c,
+       * src/ds390/main.c,
+       * src/hc08/main.c,
+       * src/mcs51/main.c,
+       * src/pic/main.c,
+       * src/pic16/main.c,
+       * src/xa51/main.c,
+       * src/z80/main.c: (reset_regparms) made void parameter explicit and
+         added PSEG (PAG,XDATA) or NULL to port specifier
+       * src/ds390/main.c (_ds390_genIVT): moved implemented default in here
+       * src/mcs51/main.c (_mcs51_genIVT): moved implemented default in here,
+         (_mcs51_genInitStartup): removed __start__xstack equ,
+         (mcs51_port): moved xstack from XSEG (XDATA) to XSTK (PAG,XDATA)
+       * src/pic16/device.c (pic16_dump_usection, pic16_dump_isection),
+       * src/z80/gen.c (_rleAppend): fixed warnings
+       * support/regression/tests/zeropad.c: added pdata test
+       * .version: bumped to 2.4.6
+
+2004-10-17 Borut Razem <borut.razem AT siol.net>
+
+       * support/scripts/sdcc.nsi: cross compiling of WIN32 setup.exe on Linux
+       as a part of nightly build
+
+2004-10-16 Vangelis Rokas <vrokas AT otenet.gr>
+
+       * src/pic16/gen.c (struct _G): added field useWreg, is set to 1 when
+       WREG holds the first byte function parameters,
+       * (aopForSym): take special case for symbols which are in FARSPACE
+       but in CODESPACE too,
+       * (assignResultValue): modified to take into account _G.useWreg,
+       * (genCall): don't use wreg for parameter passing when function is
+       declared as reentrant, too, added optimization INCF to stack
+       pointer when stack parameter count is 1,
+       * (genFunction, genEndFunction): refurnished and fixed to not using
+       wreg for passing parameters when function has varargs or is
+       reentrant, fixed bug with symbol name compare for generating
+       functions in absolute address,
+       * (pic16_storeForReturn): refurnished,
+       * (genCmp): began writing a new version of the function, not ready
+       yet, therefore it is disabled,
+       * (genAssign): do not read code memory when assigning a function to
+       a pointer function,
+       * src/pic16/glue.c (pic16emitStaticSeg): abSym->name is defined an
+       array of characters, not pointer,
+       * (pic16initialComments): in debug mode emit an .ident directive for
+       the assembler,
+       * (_process_pragma): emit a new warning type (internal to pic16)
+       when setting stack to default length, emit a similar warning when
+       placing a function at absolute address and address is not word aligned
+       * (_pic16_parseOptions): added 'return TRUE' statement,
+       * (_pic16_linkEdit): if compiling a source, then add the source's
+       file object, first in the list of objects to link,
+
+2004-10-13 Slade Rich <slade_rich AT users.sourceforge.net>
+
+       * src/pic/pcoderegs.c : increased count on regUsedinRange to prevent unnecessary warning.
+       * src/pic/main.c : removed VC warning.
+       * src/pic/gen.c : changed comment.
+
+2004-10-12 Vangelis Rokas <vrokas AT otenet.gr>
+
+       * device/lib/pic16/libsdcc/gptr/gptrput[234].c: an external
+       reference to a deprecated symbol _GPTRREG was causing failure to
+       link. Thanks G. M. Gallant for the info.
+
+2004-10-12 Slade Rich <slade_rich AT users.sourceforge.net>
+
+       * src/pic/pcode.c : Applied a code patch supplied by Paul Ashmore in
+       comments for Bugs item #954788.
+
+2004-10-10 Vangelis Rokas <vrokas AT otenet.gr>
+
+       * src/pic16/device.c (pic16_dump_gsection,
+       * pic16_groupRegistersInSection): handle symbols declared to be in
+       access bank differently,
+       * src/pic16/gen.c (struct _G): added field resDirect,
+       * (aopForSym): if symbol on stack and iCode is '=' and result exists,
+       send values read from stack directly to result and don't allocate
+       temporary values,
+       * (pic16_sameRegs): fixed bug that allowed MOVFF to move between
+       same registers,
+       * (pic16_sameRegsOfs): NEW,
+       * (freeAsmop): if _G.resDirect is set then do not mark registers as
+       free because they were not allocated from temporary pool,
+       * pic16_popRegFromString): workaround to fix a problem with
+       allocating variables twice or never,
+       * (genGenPointerGet): using PRODL instead of FSR0H,
+       * (genGenPointerSet): using POSTDEC1 (that is a stack location)
+       instead of FSR0H,
+       * (genAssign): take advantage of the _G.resDirect flag,
+       * (genCast): around line 11844, use mov2f instead of directly
+       MOVFF'ing between operands to account for literal values,
+       * src/pic16/genutils.c: some new debug functions for gpsim have been
+       added,
+       * src/pic16/glue.c (pic16_printIvalType): fixed bug that initialized
+       float with integer part only,
+       * src/pic16/main.c (_process_pragma): handle pragma udata access to
+       place variables in access bank
+       * device/lib/pic16/libsdcc/gptr/gptr*.c: using BRA instead of GOTO,
+       updated sources to reflect recent changes in gen.c
+
+2004-10-06 Vangelis Rokas <vrokas AT otenet.gr>
+
+       * device/lib/pic16/libsdcc/Makefile.rules: fixed bug concerning
+       sources that searched for headers in installation path, now the
+       device/include/pic16 is used,
+       * src/pic16/glue.c (pic16glue),
+       * src/pic16/pcode.c (pCode2str, genericPrint): don't print .file or
+       .line directives if not in debug mode, this suppresses assembler's
+       warnings for ignored directives
+
+2004-10-05 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * src/port.h: made reset_regparms prototype void parameter explicit.
+       * src/SDCCsymt.c (processFuncArgs): removed argument "func".
+       * src/mcs51/ralloc.c (packRegisters): new fix for bugs 898889 & 979599.
+       * doc/sdccman.lyx: documented warning disabling and how to use
+         printf_large to make it print floats.
+       * device/include/stdbool.h: NEW
+       * device/lib/_atof.c,
+       * device/lib/_divuint.c,
+       * device/lib/_divulong.c,
+       * device/lib/expf.c,
+       * device/lib/printf_large.c,
+       * device/lib/sincosf.c,
+       * device/lib/sincoshf.c: used stdbool.h, all compile with stack-auto now
+       * device/lib/Makefile.in: added target for model-mcs51-reentrant to build
+         a completely reentrant lib.
+
+2004-10-05 Vangelis Rokas <vrokas AT otenet.gr>
+
+       * device/lib/pic16/libsdcc/gptr/gptr*.c: added return statements
+       * device/include/pic16/stdio.h: fixed bug with colon
+
+2004-10-03 Vangelis Rokas <vrokas AT otenet.gr>
+
+       * device/include/pic16/stdio.h,
+       * device/include/pic16/stdlib.h,
+       * device/include/pic16/math.h: NEW
+       * device/lib/pic16/libsdcc/gptr/*.c (gptrget*, gptrput*): functions
+       declared as _naked to reduce overhead
+       * device/lib/Makefile.in (target port-specific-objects-pic16):
+       changed * to *.* so to ignore the CVS directory,
+       * src/pic16/gen.c (pic16_freeAsmop): added code to store result of
+       stacked variables back in stack,
+       * (genEndFunction): fixed bug reported by G.M. Gallant with stack
+       corruption
+
+2004-10-01 Vangelis Rokas <vrokas AT otenet.gr>
+
+       * .version: bumped version number to 2.4.5
+       * support/Util/SDCCerr.h: added warning W_POSSBUG2.
+       * support/Util/SDCCerr.c (messages structure): added entry for
+       W_POSSBUG2
+
+       Large cumulative patch for pic16 port and libraries.
+       * device/include/pic16/sdcc-lib.h,
+       * device/include/pic16/stdarg.h,
+       * device/include/asm/pic16/features.h,
+       * device/include/lib/pic16/libsdcc/gptr/{*.c, Makefile}: NEW,
+       * device/include/pic16/float.h: changes reentrant keyword with
+       _FS_REENTRANT, added prototype for __fsneq, included sdcc-lib.h
+       * device/lib/pic16/libsdcc/Makefile: added target directory gptr,
+       updated target build-libraries to include objects from gptr,
+       * device/lib/pic16/libsdcc/{char,int,long}/*.c: added macro
+       _IL_REENTRANT to all function headings, included sdcc-lib.h header,
+       * device/lib/pic16/libsdcc/float/*.c: added macro _FS_REENTRANT to
+       all function headings,
+       * src/SDCCmain.c: added global parameter userIncDirsSet,
+       * (parseCmdLine): when option -I is encountered add directory to
+       userIncDirsSet too,
+       * src/version.awk: added space between control and long,
+       * src/pic16/NOTES: added some notes for the port,
+       * src/pic16/gen.c: added prototype for mov2fp function,
+       * (fReturnpic16[]): properly named return value registers,
+       * (_G structure): added fields stackRegSet, fregsUsed, stack_lat,
+       * (aopForSym): added code to handle symbols with onStack flag set,
+       symbols onStack are allocated PTRSIZE bytes,
+       * (aopFreeAsmop): handles special case where asmops are stack objects,
+       * (aopGet, pic16_popGet): adde cod to handle new asmop AOP_STA,
+       * (pic16_popGetTempReg, pic16_popGetTempRegCond, pic16_popReleaseTempReg):
+       added argument lock to trace flaws in allocating temporary registers
+       when developing port,
+       * (pic16_popGetLit, pic16_popGetLit2): changed lit from unsigned to signed
+       * (pic16_popRegFromString): reenabled allocating a direct register
+       from string,
+       * (assignResultValue): various beautifications,
+       * fixed bug #1037717 (patch from R. Neider & D. Wrinkler) with mistaken
+       referenced function argument,
+       * (genIpush): reenabled to allow stacked arguments, handles only
+       ic->parmPush iCodes,
+       * (genCall, genPcall): major changes to allow for variable argument
+       functions, fixed a bug with falsely restoring stack pointer after
+       returning from call,
+       * (genFunction): pending code for critical function,
+       * (shiftR1Left2ResultSigned, shiftR1Left2Result, shiftL2Left2Result,
+       * (shiftR2Left2Result, shiftLLong) applied patch #1032155 from R.Neider,
+       * (genNearPointerGet): fixed bug with indirect reading, was always
+       reading from INDF0
+       * (genGenPointerGet, genGenPointerSet): rewrote to support generic
+       pointers,
+       * (genAddrOf): rewrote code to take address of a stacked function parameter
+       * (genCast): fixed casting to generic pointer type,
+       * src/pic16/gen.h: added AOP_STA,
+       * (struct asmop): added field stk,
+       * src/pic16/genarith.c (pic16_AopType): handle AOP_STA,
+       * (pic16_genPlusIncr): changed emitSKPNZ to emitSKPNZ,
+       * (pic16_genAddLit, pic16_genPlus): applied patch #1034042 by tecodev,
+       * (pic16_genMinus): fixed bug #1035119 with patch submitted by tecodev,
+       * src/pic16/genutils.c (pic16_genNot): removed symbol *tlbl,
+       * src/pic16/glue.c (pic16_printGPPointerType): fixed to support new
+       generic pointers,
+       * src/pic16/main.c (_pic16_initPaths): ignores default SDCC include
+       and library paths,
+       * (pic16_port structure): generic pointer size is set to 3,
+       * src/pic16/pcode.c (pic16_newpCodeOpLit): correctly print literal integer,
+       * (insertBankSwitch): cast to (char *) to prevent 64bit CPUs'
+       compiler warning,
+       * src/pic16/ralloc.c (allocReg): prevent allocating register when
+       operand is an iTemp,
+
+2004-09-24 Martin Helmling <mh AT octo-soft.de>
+
+       * debugger/mcs51/cmd.c: set PC if a symbol at pc reg is set
+       * debugger/mcs51/simi.c: addapt new syntax of s51
+
+2004-09-23 Vangelis Rokas <vrokas AT otenet.gr>
+
+       * src/pic16/genutils.c (pic16_genNot): fixed bug #1032265,
+       * src/pic16/pcode.c: commented out some calls to free() in order to
+       fix bug #989576,
+
+2004-09-23 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+       * src/SDCCicode.h,
+       * src/SDCCicode.c (isiCodeInFunctionCall),
+       * src/avr/ralloc.c (selectSpil),
+       * src/pic/ralloc.c (selectSpil),
+       * src/pic16/ralloc.c (selectSpil),
+       * src/ds390/ralloc.c (selectSpil),
+       * src/hc08/ralloc.c (selectSpil),
+       * src/xa51/ralloc.c (selectSpil),
+       * src/mcs51/ralloc.c (selectSpil): Don't use remainSpil to spill to the
+       stack in the middle of a function call sequence (fixes bug #1020268)
+       * src/SDCCicode.c (geniCodeJumpTable): fixed error in computing the
+       costs associated with the minimum switch case.
+
+2004-09-19 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+       * src/SDCC.lex: fixed bug #1030549
+
+2004-09-19 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+       * src/SDCCcse.h (struct cseDef),
+       * src/SDCCcse.c (cseBBlock, newCseDef, ifFromAddrTaken): purge CSEs
+       over a function call if the CSE is derived from a symbol whose
+       address has been taken (fixes bug #1029883)
+       * support/regression/tests/bug-1029883: a new regression test for
+       this bug
+
+2004-09-18 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+       * src/hc08/gen.c (emitinline): fixed bug #1029778
+       * src/SDCC.y (assignment_expr): fixed the grammer so that assignment
+       to a cast object is no longer a syntax error ("fixes" bug #1030006,
+       and starts toward RFE #905167)
+
+2004-09-17 Vangelis Rokas <vrokas AT otenet.gr>
+
+       * src/pic16/gen.c (mov2f): New function to move an operand to
+       another without considering if it is a literal or a register,
+       * (pic16_sameRegs): don't check if they are both AOP_REG,
+       * (AccRsh): removed andmask=0 lines,
+       * (genLeftShift): duplicated to be improved in future versions,
+       * src/pic16/main.c (_process_pragma): emit stack default size in hex,
+       * src/pic16/pcode.c: added POC_INFSNZW, updated inverted_op fields
+       in POC_INCFSZ, POC_INCFSZW, POC_INFSNZ,
+       * (pic16initMnemonics): added initialization for POC_INFSNZW,
+       * (insertBankSwitch): fixed inserting banksel directives algorithm
+       for instructions that follow a skip instruction, this fixes a report
+       for broken subtraction code generation,
+       * src/pic16/ralloc.c (deassignLRs): do not free register if current
+       iCode is a left op, just in case result and right share the same
+       registers
+
+2004-09-16 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+       * src/hc08/main.c,
+       * src/hc08/gen.c (genJumpTable): more efficient jump table, supports
+       preservation of HX
+       * src/hc08/gen.c (pullRegs): fixed order of HX & XA pairs
+       * src/mcs51/ralloc.c (packRegisters): removed the patch applied
+       on 2004-09-12; it was buggy
+
+2004-09-15 Bernhard Held <bernhard AT bernhardheld.de>
+
+       * src/SDCCsymt.h: removed RESULT_CHECK
+       * src/SDCCast.c,
+       * src/SDCCglue.c,
+       * src/SDCCval.c,
+       * src/pic/glue.c,
+       * src/pic16/glue.c: replaced RESULT_CHECK with RESULT_TYPE_NONE
+
+2004-09-15 Vangelis Rokas <vrokas AT otenet.gr>
+
+       * src/SDCCicode.c (piCode): applied patch from Raphael Neider,
+       * src/pic16/device.c (pic16_assignConfigWordValues): wrong
+       configuration values no more rejected by compiler, they are assigned
+       to configuration registers with a warning message instead,
+       * src/pic16/glue.c (pic16_emitConfigRegs): added +1 at top-limit of
+       the for-loop so last conf register is emitted too,
+       * (_pic16_initPaths): link library libsdcc.lib by default,
+       * (_hasNativeMulFor): modified test for multiplication according to
+       Raphael Neider's remarks. Integer multiplication is also done with
+       support functions,
+       * device/include/pic16/pic18fregs.h: corrected type error in while
+       testing and including 18f6720 header file
+
+2004-09-14 Vangelis Rokas <vrokas AT otenet.gr>
+
+       * src/pic16/device.h (pic16_options): removed field use_crt,
+       * src/pic16/gen.c (genUnpackBits): added call to pic16_loadFSR0
+       until an optimization to handle single bits is added,
+       * (pic16_loadFSR0): moved before genUnpackBits,
+       * (genAnd): some white lines removed,
+       * src/pic16/main.c (_pic16_finaliseOptions): set omit_ivt and clear
+       leave_reset flags in pic16_options when using crt modules,
+
+2004-09-12 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * src/mcs51/ralloc.c (packRegisters): applied fix by Bernhard Held
+         for bugs 898889 & 979599. Also used some safer print instructions.
+
+2004-09-12 Vangelis Rokas <vrokas AT otenet.gr>
+
+       * src/pic16/device.h (pic16_options_t): added field use_crt,
+       crt_name, no_crt,
+       * src/pic16/genarith.c (pic16_genPlus): added an assert(0) line to
+       catch a probable future bug,
+       * src/pic16/gen.c: aopIdx function commented out,
+       * (genAssign): commented out old code which used aopIdx,
+       * src/pic16/glue.c (pic16glue): removed some legacy fragments of
+       code, added if conditionals to take into account the --use-crt
+       command line options,
+       * src/pic16/main.c (pic16_optionsTable): added new command line
+       options, --use-crt= and --no-crt,
+       * (_pic16_linkEdit): now the proper crt object is added in the
+       linker command line except than when --no-crt is specified,
+       * src/pic16/pcode.c,
+       * src/pic16/pcode.h: added some structures and functions for a new
+       optimization scheme to compansate for instruction overhead between
+       same iCodes, this scheme is currently under development and is not
+       working in any way,
+       * src/pic16/gen.c (genAnd): added patch provided by Aaron Collwell
+       to && operator,
+       * device/lib/pic16/startup/crt0i.c,
+       * device/lib/pic16/startup/crt0iz.c: added global char variable
+       __uflags to force the generation of an idata section
+
+2004-09-12 Bernhard Held <bernhard AT bernhardheld.de>
+
+       * doc/Makefile,
+       * doc/clean.mk: added support for easy creation of sdcc-doc.tar.bz2
+       * doc/sdccman.lyx: updated sdcc version to 2.4.4
+
+2004-09-10 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+       * doc/sdccman.lyx: fixed a problem with my new index entries (thanks
+       Frieder) and clarified the default code optimization mode
+
+2004-09-10 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+       * src/SDCC.lex (doPragma, process_pragma),
+       * src/SDCCglobl.h (struct optimize): added pragmas "opt_code_speed",
+       "opt_code_size", and "opt_code_balanced"
+       * src/SDCCmain.c (optionsTable[], printOptions, scanOptionsTable):
+       regrouped options by category, added support for category headers
+       * src/SDCCmain.c (parseCmdLine): added options "--opt-code-speed"
+       and "--opt-code-size"
+       * doc/sdccman.lyx: documented these new options and pragmas
+       * src/hc08/gen.c (AccLsh, AccRsh): take speed/size optimization
+       preference into account
+
+2004-09-08 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * src/SDCCicode.c (geniCodePostInc, geniCodePreInc, geniCodePostDec,
+         geniCodePreDec): Fixed bug 904237 by generating a warning
+       * src/SDCCerr.h,
+       * src/SDCCerr.c: added warning W_SIZEOF_VOID
+
+2004-09-09 Slade Rich <slade_rich AT users.sourceforge.net>
+
+       * src/pic/device.c : When no max ram set validate full memory range.
+       * src/pic/pcode.c,
+       * src/pic/pcodepeep.c : Copy C code comments to optimised replacement code.
+
+2004-09-08 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * device/lib/_gptrget.c,
+       * device/lib/_gptrput.c: updated comment
+       * device/lib/calloc.c,
+       * device/lib/free.c,
+       * device/lib/malloc.c,
+       * device/lib/realloc.c: added LGPL, made them reentrant-safe
+       * src/SDCCcse.c (cseBBlock),
+       * src/SDCCicode.c (printOperand, geniCodeArray),
+       * src/SDCCicode.h (struct operand): fixed bug 868103
+       * support/regression/tests/bug-868103.c: added
+       * src/SDCCast.c (searchLitOp),
+       * src/SDCCcse.h (struct cseDef),
+       * src/SDCCglue.c (printIvalArray, spacesToUnderscores),
+       * src/SDCCicode.h (struct operand),
+       * src/SDCCsymt.h (struct sym_link),
+       * src/avr/gen.c (hasInc),
+       * src/ds390/gen.c (hasInc),
+       * src/hc08/gen.c (genPlusIncr, hasInc),
+       * src/mcs51/gen.c (hasInc),
+       * src/pic16/glue.c (pic16_printIvalChar),
+       * src/pic16/ralloc.c (regWithIdx),
+       * src/xa51/gen.c (hasInc) : removed warnings
+       * src/SDCCast.c (createBlock): added comment ???
+       * src/hc08/ralloc.c: updated comments
+
+2004-09-07 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
+
+       * doc/sdccman.lyx: updated section on switch statements, added
+       section about semaphore locking
+       * doc/Makefile: added option -info for latex2html
+       * device/lib/_gptrget.c,
+       * device/lib/_gptrput.c: __XPAGE instead of P2 in outcommented code
+
+2004-09-06 Slade Rich <slade_rich AT users.sourceforge.net>
+
+       * src/pic/device.h,
+       * src/pic/device.c,
+       * src/pic/port.c : Changed PIC14 code to not set bit RP1 when
+        maxram is less than 0x100.
+
 2004-09-06 Slade Rich <slade_rich AT users.sourceforge.net>
 
        * Bug fixes for PIC14 - signed RSHIFT problem. Patch supplied by Allen(agschrum).