* configure,
authorbernhardheld <bernhardheld@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Fri, 28 Apr 2006 20:31:20 +0000 (20:31 +0000)
committerbernhardheld <bernhardheld@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Fri, 28 Apr 2006 20:31:20 +0000 (20:31 +0000)
* configure.in: replaced duplicate message about ucsim by missing sdcpp
* install-sh: fix bug #1204398 by setting umask 0022
* device/lib/Makefile.in: separate build of z80 and gbz80 lib

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@4136 4a8a32a2-be11-0410-ad9d-d568d2c75423

ChangeLog
device/lib/hc08/Makefile.in
device/lib/pic/libdev/Makefile.in

index d3ddd8700083b3d646b8e84a703df10d8a030613..b05ad604db5ba15f11247ab7713b13d7a960d9bc 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,7 @@
 2006-04-28 Bernhard Held <bernhard AT bernhardheld.de>
 
+       * device/lib/pic/libdev/Makefile.in,
+       * device/lib/hc08/Makefile.in,
        * device/lib/gbz80/Makefile.in,
        * device/lib/z80/Makefile.in,
        * device/lib/ds390/Makefile.in,
        * 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
-         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
-         shiftCount (expected by genGenericShift)
-       * 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
-         is an invalid literal too...)
-
-2005-01-04 Vangelis Rokas <vrokas AT otenet.gr>
-
-       * src/pic16/gen.c (aopForSym, genEndFunction): applied some fixes
-       from Raphael Neider,
-       * src/pic16/pcode.c (pic16_newpCodeOpLit): removed casting to char
-       for 8-bit literals. This fixes some literal operands which are sign
-       extended to 16-bits ints when instruction needs only 8-bits.
-
-2004-12-31 Paul Stoffregen <paul AT pjrc.com>
-
-       * device/lib/logf.c: added mcs51 assembly version
-       * device/lib/expf.c: added mcs51 assembly version
-       * device/lib/_logexpf.c: new shared asm code for expf and logf
-       * device/include/math.h: add defines for assembly math library
-       * device/lib/Makefile.in: build new _logexpf.c
-       * device/lib/libfloat.lib: use new _logexpf.c
-
-2004-12-29 Slade Rich <slade_rich AT users.sourceforge.net>
-
-       * src/pic/device.c
-       * src/pic/pcode.c : adjusted internal stack and pre-allocated registers for
-         device types which have less than 0x7f registers.
-
-2004-12-29 Slade Rich <slade_rich AT users.sourceforge.net>
-
-       * src/pic/genarith.c : Fixed problem with subtraction where the result would not be updated when borrowing.
-
-2004-12-28 Paul Stoffregen <paul AT pjrc.com>
-
-       * device/lib/printf_fast.c: only build on supported arch.
-       * device/lib/printf_tiny.c: only build on supported arch.
-       * device/lib/printf_fast_f.c: only build if asm float lib
-       * device/lib/_fsget1arg.c: only build if asm float lib
-       * device/lib/_fsget2args.c: only build if asm float lib
-       * device/lib/_fsnormalize.c: only build if asm float lib
-       * device/lib/_fsreturnval.c: only build if asm float lib
-       * device/lib/_fsrshift.c: only build if asm float lib
-       * device/lib/_fsswapargs.c: only build if asm float lib
-       * device/include/stdio.h: don't provide print_fast,
-         print_fast_f, print_tiny prototypes if --xstack used
-
-2004-12-28 Maarten Brock <sourceforge.brock AT dse.nl>
-
-       * device/lib/sincosf.c (sincosf): don't invert bit/bool by ~
-       * support/regression/ports/mcs51-stack-auto/spec.mk: added new _fs.. files
-         to the SOURCES
-
-2004-12-28 Paul Stoffregen <paul AT pjrc.com>
-
-       * device/lib/printf_fast_f.c: same as printf_fast, but
-         with floating point enabled
-       * device/lib/printf_fast.c: minor tweaks
-       * device/include/stdio.h: add printf_fast_f
-
-2004-12-27 Paul Stoffregen <paul AT pjrc.com>
-
-       * src/SDCCmain.c: make --float-reent default for mcs51
-       * device/lib/_fsadd.c: added mcs51 assembly version
-       * device/lib/_fssub.c: added mcs51 assembly version
-       * device/lib/_fsmul.c: added mcs51 assembly version
-       * device/lib/_fsdiv.c: added mcs51 assembly version
-       * device/lib/_fseq.c: added mcs51 assembly version
-       * device/lib/_fsneq.c: added mcs51 assembly version
-       * device/lib/_fsgt.c: added mcs51 assembly version
-       * device/lib/_fslt.c: added mcs51 assembly version
-       * device/lib/_fscmp.c: shared code for fseq,fsgt,fslt,fsneq
-       * device/lib/Makefile.in: add _fscmp to build
-       * device/lib/libfloat.lib: add _fscmp to build
-
-2004-12-27 Paul Stoffregen <paul AT pjrc.com>
-
-       * device/lib/_fs2slong.c: added mcs51 assembly version
-       * device/lib/_fs2sint.c: added mcs51 assembly version
-       * device/lib/_fs2schar.c: added mcs51 assembly version
-       * device/lib/_fs2ulong.c: added mcs51 assembly version
-       * device/lib/_fs2uint.c: added mcs51 assembly version
-       * device/lib/_fs2uchar.c: added mcs51 assembly version
-       * device/lib/_slong2fs.c: added mcs51 assembly version
-       * device/lib/_sint2fs.c: added mcs51 assembly version
-       * device/lib/_schar2fs.c: added mcs51 assembly version
-       * device/lib/_ulong2fs.c: added mcs51 assembly version
-       * device/lib/_uint2fs.c: added mcs51 assembly version
-       * device/lib/_uchar2fs.c: added mcs51 assembly version
-       * device/include/float.h: added #define to select asm vs c
-
-2004-12-26 Paul Stoffregen <paul AT pjrc.com>
-
-       * device/lib/printf_fast.c: improvements to float output
-       * device/include/float.h: add defines for assembly float library
-       * device/lib/_fsget1arg.c: receive 1 float arg
-       * device/lib/_fsget2args.c: receive 2 float args (reentrant)
-       * device/lib/_fsnormalize.c: normalize a float
-       * device/lib/_fsreturnval.c: return float, various helper routines
-       * device/lib/_fsrshift.c: right shift a float's mantissa
-       * device/lib/_fsswapargs.c: swap 2 floats
-       * device/lib/Makefile.in: build these 6 new files for mcs51
-       * device/lib/libfloat.lib: add these 6 files to the library
-
-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).
-
-2004-09-06 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/port.h,
-       * src/mcs51/main.c,
-       * src/ds390/main.c,
-       * src/z80/main.c,
-       * src/hc08/main.c,
-       * src/pic/main.c,
-       * src/pic16/main.c,
-       * src/avr/main.c,
-       * src/xa51/main.c
-       * src/SDCCicode.c (geniCodeJumpTable): Better logic to determine if a
-       a jump table is the best form for a switch statement, including
-       automatic insertion of missing cases to make the case range
-       continuous. Developed in collaboration with Frieder Ferlemann.
-
-2004-09-02 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/hc08/ralloc.c (canDefAccResult): multi-byte shift is unsafe for
-       accumulator result if it needs sign extension
-
-2004-09-02 Maarten Brock <sourceforge.brock AT dse.nl>
-
-       * src/hc08/ralloc.c (canUseAccOperand): fixed comparison bug
-
-2004-09-02 Maarten Brock <sourceforge.brock AT dse.nl>
-
-       * device/lib/gbz80/printf.c,
-       * device/lib/z80/printf.c: removed define for NULL
-
-2004-09-02 Maarten Brock <sourceforge.brock AT dse.nl>
-
-       * as/xa51/xa_link.c,
-       * device/examples/ds390/ow390/ad26.c,
-       * device/examples/ds390/ow390/cnt1d.c,
-       * device/examples/ds390/ow390/counter.c,
-       * device/examples/ds390/ow390/ds2480.h,
-       * device/examples/ds390/ow390/ds2480ut.c,
-       * device/examples/ds390/ow390/findtype.c,
-       * device/examples/ds390/ow390/gethumd.c,
-       * device/examples/ds390/ow390/owllu.c,
-       * device/examples/ds390/ow390/ownetu.c,
-       * device/examples/ds390/ow390/swt12.c,
-       * device/examples/ds390/ow390/swtloop.c,
-       * device/examples/ds390/ow390/temp.c,
-       * device/examples/ds390/ow390/temp10.c,
-       * device/examples/ds390/ow390/thermo21.c,
-       * device/examples/ds390/ow390/tinilnk.c,
-       * device/examples/ds390/ow390/tstfind.c,
-       * device/examples/serialcomm/windows/serial.cpp,
-       * device/examples/serialcomm/windows/test_serialcomm.cpp,
-       * device/include/reg51.h: fixed line endings for cvs
-
-2004-09-02 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/hc08/ralloc.c (canDefAccResult, canUseAccOperand,
-       packRegsForAccUse, packRegisters): new accumulator register
-       packing algorithm
-       * support/regression/ports/hc08/support.c (_putchar): suppress
-       warning of unused variable
-       * src/SDCCicode.c: added SWAP entry to codeTable
-
-2004-09-01 Maarten Brock <sourceforge.brock AT dse.nl>
-
-       * device/lib/sprintf.c: forgot to add this file before previous commit
-
-2004-09-01 Vangelis Rokas <vrokas AT otenet.gr>
-
-       * src/pic16/gen.c (genPackBits): added operand right in function
-       parameters, load result directly if p_type is POINTER (that is
-       called by genNearPointerSet)
-       * (genUnPackBits): added operand left in function parameters,
-       * (genNearPointerGet, genNearPointerSet): prevent the loading of
-       FSR0 if accessing bitfields,
-
-2004-08-31 Maarten Brock <sourceforge.brock AT dse.nl>
-
-       * device/include/stdio.h: added NULL, size_t, typedef pfn_outputchar,
-         _print_format; updated printf, sprintf, vsprintf
-       * device/include/asm/default/features.h: corrected comment/define
-       * device/lib/Makefile.in: added sprintf.c
-       * device/lib/libsdcc.lib: added sprintf module
-       * device/lib/printf_large.c,
-       * device/lib/vprintf.c,
-       * device/lib/sprintf.c: totally refactored printf_large and vprintf
-         into these 3 files
-       * support/regression/Makefile: changed ALL_PORTS into a usefull default
-       * support/regression/ports/mcs51-stack-auto/spec.mk: added sprintf
-       * support/regression/tests/bug-927659.c: removed dummy putchar, enabled
-         hc08 test
-       * support/regression/tests/zeropad.c: define idata as data for hc08
-
-2004-08-31 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/SDCCpeeph.c (labelIsReturnOnly): support hc08 rts opcode also
-       * src/SDCCpeeph.c (buildLabelRefCountHash): assume function entry point
-       labels are referenced at least once (even if a reference is not found)
-       * src/hc08/gen.c (emitcode): set isComment flag for comments
-       * src/hc08/peeph.def: added rules 5a..5f (optimize redundant immediate
-       loads), rules 6a..6b (optimize jumps to return)
-
-2004-08-30 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * device/lib/acosf.c (acosf),
-       * device/lib/asinf.c (asinf),
-       * device/lib/atanf.c (atanf),
-       * device/lib/ceilf.c (ceilf),
-       * device/lib/cosf.c (cosf),
-       * device/lib/coshf.c (coshf),
-       * device/lib/cotf.c (cotf),
-       * device/lib/fabsf.c (fabsf),
-       * device/lib/floorf.c (floorf),
-       * device/lib/log10f.c (log10f),
-       * device/lib/logf.c (logf),
-       * device/lib/sinf.c (sinf),
-       * device/lib/sinhf.c (sinhf),
-       * device/lib/sqrtf.c (sqrtf),
-       * device/lib/tanf.c (tanf),
-       * device/lib/tanhf.c (tanhf),
-       * device/include/math.h: defined _FLOAT_FUNC_REENTRANT macro and
-       replaced all instances of "reentrant" in the library functions
-       defined in math.h with this macro.
-       * support/regression/tests/float_trans.c: reenabled test for hc08
-
-2004-08-30 Bernhard Held <bernhard AT bernhardheld.de>
-
-       * device/lib/pic16/Makefile.common.in: added MODELFLAGS again, it was
-       erroneously deleted
-
-2004-08-30 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/hc08/gen.c (loadRegFromAop): better use of clra & clrx
-       * src/hc08/gen.c (genAnd, genOr): fixed bug with conditional when
-       multi-byte volatile operands are used
-       * src/hc08/gen.c (shiftRLong): fixed bug with wrong rotate direction
-       * src/hc08/main.c (_hc08_genAssemblerPreamble): moved the built-in
-       initialization to area GSINIT0 so that it would always precede
-       any static initializers in GSINIT
-       * support/regression/tests/zeropad.c: fixed idata define for hc08
-       * support/regression/tests/bug-927659.c,
-       * support/regression/tests/float_trans.c: disabled tests for hc08
-       pending missing library routines
-       * .version: increased version number to 2.4.4 - hc08 port now passes
-       regression tests
-
-
-2004-08-29 Bernhard Held <bernhard AT bernhardheld.de>
-
-       * device/lib/pic16/Makefile.common.in: added $(MM) to fix `make clean`
-       * Makefile.common.in,
-       * as/Makefile,
-       * as/hc08/Makefile.in,
-       * as/mcs51/Makefile.in,
-       * as/z80/Makefile.in,
-       * debugger/mcs51/Makefile.in,
-       * device/include/Makefile.in,
-       * device/lib/Makefile.in,
-       * doc/Makefile,
-       * link/Makefile,
-       * link/z80/Makefile.in,
-       * packihx/Makefile.in,
-       * sim/ucsim/main_in.mk,
-       * sim/ucsim/avr.src/Makefile.in,
-       * sim/ucsim/doc/Makefile.in,
-       * sim/ucsim/gui.src/serio.src/Makefile.in,
-       * sim/ucsim/hc08.src/Makefile.in,
-       * sim/ucsim/s51.src/Makefile.in,
-       * sim/ucsim/xa.src/Makefile.in,
-       * sim/ucsim/z80.src/Makefile.in,
-       * src/Makefile.in,
-       * support/cpp2/Makefile.in,
-       * support/librarian/Makefile,
-       * support/makebin/Makefile: added DESTDIR to the install path proposed
-       by "Maciej 'Agaran' Pijanka" <agaran AT pld-linux.org>
-       * doc/sdccman.lyx: added DESTDIR documentation
-
-2004-08-29 Vangelis Rokas (vrokas AT otenet.gr>
-
-       * src/pic16/gen.c (genFunction, genEndFunction): fixed return
-       instruction for interrupt handlers, use fast returns when returning
-       from high priority interrupts
-
-2004-08-29 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/hc08/gen.c (genAnd, genOr, transferAopAop, rmwWithAop): optimized
-       code generation
-       * src/hc08/gen.c (genrshFour, genCpl): fixed bugs
-       * src/hc08/gen.c (genMultOneByte, genDivOneByte, genModOneByte): fixed
-       bugs, ported much of Bernhard's code from mcs51
-       * src/mcs51/gen.c (genSend),
-       * src/hc08/gen.c (genSend): fixed bug with lost SEND iCodes if more
-       than one when calling a reentrant function
-       * device/lib/_mullong.c: defined an alternate struct layout for big
-       endian ports (hc08)
-
-2004-08-28 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/hc08/gen.c (shiftL2Left2Result): fix for bug-500536 regression
-       test
-
-2004-08-28 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/SDCCsymt.c (processFuncArgs): make sure parameter types
-       are sane and complete before asking the port its prefered parameter
-       passing method (fixes bug #1017633)
-       * device/lib/hc08/_ret.c: added "data" storage class to _ret2
-       and _ret3
-
-2004-08-27 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/hc08/gen.c (genPackBitsImmed, genUnpackBitsImmed): fix offset
-       problem in bitfields >= 8 bits.
-
-2004-08-27 Maarten Brock <sourceforge.brock AT dse.nl>
-
-       * src/SDCCsymt.c: undid changes that were not meant to be committed
-
-2004-08-27 Maarten Brock <sourceforge.brock AT dse.nl>
-
-       * support/regression/ports/hc08spec.mk: REENTRANT must be reentrant
-
-2004-08-27 Maarten Brock <sourceforge.brock AT dse.nl>
-
-       * src/hc08/gen.c (genUminusFloat): fixed bug where only 3 bytes were
-         copied and wrong bit got inverted
-
-2004-08-27 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/hc08/gen.c (genPointerSet, genFarPointerSet): moved code from
-       genFarPointerSet into genPointerSet; eliminated genFarPointerSet
-       * src/hc08/gen.c (genPointerGet, genFarPointerGet): moved code from
-       genFarPointerGet into genPointerGet; eliminated genFarPointerGet
-       * src/hc08/gen.c (genPackBitsImmed): generate optimized code for
-       assignments to bitfields at known addresses
-       * src/hc08/gen.c (genUnpackBitsImmed): generate optimized code for
-       reads from bitfields at known addresses
-       * src/hc08/ralloc.c (packRegisters),
-       * src/hc08/gen.c (genPointerGet, genUnpackBits, genUnpackBitsImmed,
-       genhc08Code): optimize pointer get values used as conditionals
-       * src/hc08/peeph.def: added rules 2e & 2f to optimize bit test
-       and branch
-
-2004-08-24 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/mcs51/gen.c (genPointerGet, genNearPointerGet, genPagedPointerGet,
-       genFarPointerGet, genCodePointerGet, genGenPointerGet, genUnpackBits),
-       * src/mcs51/ralloc.c (packRegisters): optimize pointer get values used
-       as conditionals
-
-2004-08-22 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
-
-       * src/mcs51/peeph.def: peepholes 248.i-m for xdata bitfields
-
-2004-08-21 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/mcs51/ralloc.c (packRegsForOneuse): fixed bug #1012650 and some
-       related problems
-
-2004-08-21 Bernhard Held <bernhard AT bernhardheld.de>
-
-       * sim/ucsim/cmd.src/Makefile.in: run lex only if $(PRJDIR)/devel exists
-
-2004-08-18 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/z80/ralloc.c (packRegsForAssign): ported some bug fixes from the
-       mcs51 port
-
-2004-08-16 Slade Rich <slade_rich AT users.sourceforge.net>
-
-       * src/pic/gen.c: Restored fn genRet as previous fix was incorrect.
-
-2004-08-14 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
-
-       * src/mcs51/gen.c (genJumpTab): jumptables for more than 16 switch
-       cases use more compact code.
-
-2004-08-13 Slade Rich <slade_rich AT users.sourceforge.net>
-
-       * src/pic/gen.c: Fixed problem with fn returning a variable bigger than a char.
-
-2004-08-12 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/SDCClrange.c (findPrevUse): fixed bug #1007371
-
-2004-08-12 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/SDCCsymt.h,
-       * src/SDCCsymt.c (changePointer, checkDecl, addSymChain): changed
-       parameter of changePointer() from symbol* to sym_link*
-       * src/SDCCast.c (decorateType): call changePointer() for CAST op
-       * src/SDCCsymt.c (compareType): void* type is castable to other
-       pointers, but not necesarily an exact match.
-       * src/SDCCicode.c (geniCodeCast): allow void* casting here since it
-       is no longer blindly treated as an exact match.
-       * src/SDCCval.c (valCastLiteral): treat missing type as cast to void
-
-2004-08-12 Slade Rich <slade_rich AT users.sourceforge.net>
-
-       * src/pic/glue.c: Added struct initialisation fn printIvalStruct.
-
-2004-08-11 Slade Rich <slade_rich AT users.sourceforge.net>
-
-       * src/pic/gen.c,
-       * src/pic/pcode.c,
-       * src/pic/ralloc.h,
-       * src/pic/ralloc.c: Printing rIdx on internal verbose debug.
-
-2004-08-10 Slade Rich <slade_rich AT users.sourceforge.net>
-
-       * src/pic/device.c,
-       * src/pic/device.h,
-       * src/pic/device.c: Will no longer exit if #pragma maxram has not been defined.
-
-2004-08-06 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/mcs51/gen.c (emitcode): fixed bug #992819
-
-2004-08-05 Maarten Brock <sourceforge.brock AT dse.nl>
-
-       * src/pic/ralloc.c (deassignLR): allthough pic port is buggy already,
-         there's no need to make it worse
-
-2004-08-05 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/mcs51/ralloc.c (deassignLR),
-       * src/ds390/ralloc.c (deassignLR),
-       * src/hc08/ralloc.c (deassignLR),
-       * src/z80/ralloc.c (deassignLR),
-       * src/pic/ralloc.c (deassignLR),
-       * src/pic16/ralloc.c (deassignLR),
-       * src/avr/ralloc.c (deassignLR),
-       * src/SDCClrange.c (findRecursiveSucc, findRecursivePred, findPrevUse,
-       rlivePoint): fixed another part of bug #971834
-
-2004-08-04 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/z80/main.c: enabled "critical" keyword
-       * src/z80/mappings.i,
-       * src/z80/gen.c (genFunction, genEndFunction): support for interrupt
-       functions (fixes bug #979646)
-       * doc/sdccman.lyx: added a subsection explaining z80 interrupt support
-
-2004-08-04 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
-
-       * src/mcs51/gen.c (genInline): Add \n for labels, not DOS/WIN dirs
-         such as c:\mydir.
-
-2004-08-03 Maarten Brock <sourceforge.brock AT dse.nl>
-
-       * src/SDCCloop.c (loopInvariants): fixed bug 983545, hope this
-         doesn't disable too much optimizations
-
-2004-08-02 Slade Rich <slade_rich AT users.sourceforge.net>
-
-       * src/pic/glue.c Disabled "WARNING: function 'main' undefined" when -S option is used.
-
-2004-08-02 Maarten Brock <sourceforge.brock AT dse.nl>
-
-       * src/SDCClrange.c (rlivePoint): fixed bug 988568, thanks to anonymous
-
-2004-08-02 Slade Rich <slade_rich AT users.sourceforge.net>
-
-       * src/pic/gen.c tidied up tabs
-       * src/pic/genarith.c tidied up tabs and fixed bug with literal multiple where same register was used for hi and low byte
-       * src/pic/main.c tidied up tabs
-       * src/pic/pcode.c tidied up tabs and disabled verbose code generation
-       * src/pic/pcoderegs.c tidied up tabs
-       * src/pic/ralloc.c tidied up tabs
-
-2004-07-30 Vangelis Rokas <vrokas AT otenet.gr>
-
-       * src/SDCCmem.c (allocGlobal): don't turn S_REGISTER storage class
-       to S_FIXED for pic16 port and when symbol is not in level 0,
-       allocate for S_REGISTER storage class and pic16 port, too,
-       * src/pic16/device.h: prototype for checkSym,
-       * src/pic16/device.c (pic16_dump_access, checkSym): NEW,
-       * (pic16_assignConfigWordValue): test the value and the mask to
-       validate that the value is suitable for the configuration word,
-       * src/pic16/glue.c (pic16_printIvalFuncPtr): use 'externs' to
-       collect extern declared symbols, don't emit symbol twice, check
-       first if symbol is in publics set first,
-       * src/pic16/main.c (_pic16_keywords[]): added keyword 'register',
-       * added command line '--fstack' which enables an experimental
-       feature for stack access, too buggy to be used yet...
-       * src/pic16/ralloc.c (pic16_accessregWithName): NEW,
-       * (pic16_allocDirReg): when register has storage class S_REGISTER
-       allocate in pic16_dynAccessRegs,
-       * device/include/pic16/pic18f????.h: modified configuration word
-       naming convention, words started as CONFIG0H but should be CONFIG1H
-
-2004-07-29 Maarten Brock <sourceforge.brock AT dse.nl>
-
-       * device/include/mcs51reg.h: fixed bug 970993
-
-2004-07-27 Maarten Brock <sourceforge.brock AT dse.nl>
-
-       * added lib/calloc.c, lib/free.c, lib/realloc.c, include/stddef.h
-       * updated lib/malloc.c, lib/libsdcc.lib, lib/Makefile.in, include/malloc.h
-       * src/SDCC.lex (doPragma): added pragma disable_warning <nnn>
-       * src/SDCCmain.c (parseCmdLine): added option --disable-warning <nnn>
-       * src/ds390/gen.c (genPlusIncr): fixed bug when incrementing generic pointers
-       * support/Util/SDCCerr.c (vwerror): suppress disabled warnings and output
-         error/warning numbers,
-         added function setWarningDisabled()
-       * support/Util/SDCCerr.h: added setWarningDisabled() and MAX_ERROR_WARNING
-       * support/regression/ports/mcs51-stack-auto/spec.mk: added dependencies
-         _memcmp.c _memmove.c calloc.c realloc.c free.c
-       * support/regression/tests/malloc.c: added tests for new functionality
-       * support/regression/tests/zeropad.c: added tests for truncated initializers
-         and initialized char arrays starting with '\x0'
-       * src/mcs51/peeph.def: fixed regression, added peephole 177.f
-
-2004-07-26 Bernhard Held <bernhard AT bernhardheld.de>
-
-       * support/valdiag/tests/overflow.c: fixed warning on (1 >> 40)
-
-2004-07-26 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
-
-       * doc/sdccman.lyx: updated example in section "Absolute Addressing"
-       * src/mcs51/peeph.def: added contributed fix for "bug" #995347 as
-       peephole 177.e. Thanks to anonymous
-
-2004-07-25 Vangelis Rokas <vrokas AT otenet.gr>
-
-       * src/pic16/glue.c (pic16_printIvalFuncPtr): when an extern
-       function isn't used in the source but referenced as a
-       variable initializer then declare it as extern in .asm file
-
-2004-07-24 Vangelis Rokas <vrokas AT otenet.gr>
-
-       * .version: increased version number to 2.4.3
-
-       Adding version extension according to ChangeLog CVS revision
-       * src/Makefile.in (target all): added dependency 'version.h'
-       * (rule version.h): added rule to create version.h from ChangeLog,
-       * (rule dep): added dependency version.h,
-       * src/version.awk: AWK script to create version.h
-       * src/SDCCdwarf2.c (dwWriteModule),
-       * src/SDCCglue.c (initialComments),
-       * src/SDCCmain.c (printVersionInfo): modified to write after
-       version string the version extension number,
-       * src/SDCCutil.c: included "version.h"
-       * (getBuildNumber): NEW, returns SDCC's ChangeLog minor revision
-       number,
-       * src/SDCCutil.h: added prototype for getBuildNumber
-
-       * src/SDCCmain.c (parseCmdLine): when sOpt is 'I' add rest in
-       includeDirsSet, too,
-       * src/SDCCsymt.c (checkSClass): don't emit error when a variable,
-       const char [] is found in function prototype...
-
-       * src/pic16/genarith.c (pic16_genUMult8XLit_8): optimization to omit
-       moving to WREG with source is already in WREG,
-       * src/pic16/gen.h: added AOP_FSR0 and AOP_FSR2 in enum,
-       * src/pic16/gen.c (getFreePtr): updated to look for FSR0 and FSR2,
-       * (aopForSym): stack'ed symbols are partially supported, added
-       if-clause to support symbols in FARSPACE,
-       * (sameRegs): added test for AOP_ACC to see if registers are same,
-       * (pic16_freeAsmop): added case for AOP_FSR0 and AOP_FSR2,
-       * (pic16_aopGet): added case for AOP_FSR0 and AOP_FSR2,
-       * (pic16_popRegFromString): will not allocate a new register if it
-       doesn't find one by name, bug may have introduced...
-       * (pic16_popGet): added case for AOP_FSR0 and AOP_FSR2,
-       * (genIpush): revived to use pic16 port's stack,
-       * (genAddrOf): added incomplete case for stack'ed operand,
-       * (genCast): optimized a pair of MOVFW,MOVWF to MOVFF
-       * src/pic16/genutils.c (pic16_genNot): almot new vesrion for NOT,
-       can handle multibyte operands,
-       * src/pic16/glue.c (pic16_printIval*): some debug info added,
-       * (pic16initialComments): added message for MPLAB compatibility
-       mode enabled,
-       * src/pic16/main.h: prototype for pic16_mplab_comp,
-       * src/pic16/main.c (pic16_optionsTable): new option --mplab-comp,
-       which enabled MPLAB compatibility mode (i.e. no #LINE/#FILE, BANKED)
-       * (_pic16_linkEdit): NEW, handles link stage, transferred here
-       because of increased complexity of procedure,
-       * (_process_pragma): stack pragma changed to format 'stack pos len',
-       emit symbol '_stack_end' to conform with gplink,
-       * src/pic16/pcode.c (pic16_newpCodeOpBit): using pic16_regWithName
-       to search for register,
-       * (pic16_get_op, pic16_get_op2): added case for PO_W, PO_WREG and
-       PO_GPR_REGISTER,
-       * (pic16_pCode2str): when in MPLAB compatibility mode, comment out
-       #LINE directives and replace 'B' with 'BANKED' in instruction opcodes
-       * (pic16_getRegFromInstruction, pic16_getRegFromInstruction2): added
-       case for PO_GPR_REGISTER,
-       * (pic16_AnalyzeBanking): removed the old message for inc2h.pl, past
-       dies, the new era is ahead !...
-       * src/pic16/ralloc.c: added hash reposits pic16_dynAllocRegNames and
-       pic16_dynInternalRegs,
-       * (pic16_allocregWithName, pic16_procregWithName, pic16_regWithname): NEW,
-       * (pic16_allocDirReg): minor optimizations and bug fixes,
-       * (pic16_allocWithIdx): when searching pic16_dynProcessorRegs use fixed,
-
-       * device/lib/pic16/startup/crt0*.c: extern definition of stack_end,
-       load stack and frame pointer with address of 'stack_end' symbol
-
-2004-07-23 Vangelis Rokas <vrokas AT otenet.gr>
-
-       * src/pic16/glue.c (pic16emitStaticSeg): fixed bug with files
-       without source code but only variable initializers
-
-2004-07-20 Vangelis Rokas <vrokas AT otenet.gr>
-
-       * src/pic16/glue.c (pic16emitRegularMap): unused functions marked as
-       external are not declared as extern to reduce overhead while linking
-
-2004-07-20 Maarten Brock <sourceforge.brock AT dse.nl>
-
-        * src/SDCCast.c (decorateType): removed buggy fix for bug #979599
-
-2004-07-11 Maarten Brock <sourceforge.brock AT dse.nl>
-
-       * src/SDCCglue.c (printIvalArray): fixed bug #984229, thanks to Phuah
-          Yee Keat for the patch
-        * src/SDCCast.c (decorateType): fixed bug #979599
-        * src/ds390/gen.h: removed local fReturnSizeDS390
-        * src/ds390/gen.c: made fReturnSizeDS390 signed short to remove a warning
-        * src/ds390/gen.c (genAnd, genOr, genXor),
-        * src/mcs51/gen.c (genAnd, genOr, genXor): generate better optimized code
-
-2004-07-04 Vangelis Rokas <vrokas AT otenet.gr>
-
-       * src/SDCCmain.c (linkEdit): modifications only for pic16 port,
-       add relFilesSet to $3, manipulate $2 to handle linking of object
-       files without source files in command line,
-       * device/include/pic16 (all headers): added ID location macros,
-       * src/pic16/device.c (struct PIC16_device Pics16[]): added field
-       entries for ID location bytes,
-       * (pic16_assignIdByteValue): NEW,
-       * src/pic16/device.h: new structures idRegInfo_t and idBytesInfo_t,
-       added field dumpcalltree to pic16_options_t,
-       * src/pic16/gen.c (genCmp): fixed bug case so a temporary register
-       is used instead of pic16_Gstack_base_addr, check if (ifx) before
-       emitting rFalseIfx label after check_carry label,
-       * src/pic16/glue.c (PIC16_IS_IDLOC_ADDRESS, PIC16_IS_HWREG_ADDRESS,
-       pic16_emitDIRegs), NEW
-       * (pic16glue): dump .calltree file when option --calltree found,
-       * src/pic16/main.c (OPTION _pic16_optionsTable): new option --calltree
-       * (_pic16_genAssemblerPreamble): emit ID locations after
-       configuration registers,
-       * (pic16_linkCmd): modifications of the link command,
-       * src/pic16/pcode.c (pic16_pciMOVFF): PCC_REGISTER replaces PCC_REGISTER2
-       * (pic16_pCodeInitRegisters): don't init stack registers,
-       * (pic16_findPrevInstruction): fixed bug,
-       * (pic16_getRegFromInstruction, pic16_getRegFromInstruction2): fixed
-       bug with immediate registers,
-       * (buildCallTree): traces stack push and pop,
-       * (pct2): dump also stack usage for each function,
-       * src/pic16/ralloc.c (dynrIdx): registers names start from 0x00
-       * (pic16_allocDirReg): various modifications,
-       * (pic16_typeRegWithIdx): when searching pic16_dynProcessorRegs set
-       fixed to 1,
-
-2004-07-02 Vangelis Rokas <vrokas AT otenet.gr>
-
-       * src/pic16/pcode.c: removed buggy double colon
-
-2004-07-01 Borut Razem <borut.razem AT siol.net>
-
-       * support/scripts/sdcc.nsi: added include/pic16 to setup
-
-2004-06-30 Vangelis Rokas <vrokas AT otenet.gr>
-
-       * device/lib/Makefile.in: fixed bug in target objects-pic16,
-       * device/lib/pic16/Makefile: prefixed with dash (-) command under
-       target 'clean',
-       * doc/sdccman.lyx: changed version to 2.4.2 and added some port
-       specific command line arguments. Also added sample lkr script
-       for placing a variable at a specific memory bank.
-       * src/pic16/device.c (pic16_dump_gsection): NEW, to dump variables
-       at a specific memory bank,
-       * (pic16_dump_isection): fixed bug which caused string literals to
-       be omitted when dumping idata section,
-       * (pic16_groupRegistersInSection): added code to handle registers
-       in specific memory banks,
-       * src/pic16/gen.c: labelOffset is prefixed with pic16_ and made
-       public, all references are renamed too,
-       * (pic16_aopGet): removed switch cases for AOP_R0,AOP_R1,AOP_DPTR,
-       AOP_DPTR2,
-       * (pic16_storeForReturn): added case to handle when dest is WREG,
-       * src/pic16/genarith.c (pic16_pCodeOpSubType): NEW,
-       * src/pic16/glue.c (pic16emitRegularMap): when adding a register in
-       pic16_rel_udata, check to see if that register is marked as being
-       a member of a specific memory bank,
-       * (pic16_printIvalCharPtr): added code to add string literals either
-       to code or the idata sections,
-       * src/pic16/main.c (_process_pragma): added \n to WHITE constant,
-       also accept the 'udata' pragma,
-       * src/pic16/main.h: new structure types sectName and sectSym
-       * src/pic16/pcode.c: added new pCodeInstruction entry for BANKSEL
-       * (newpCodeOpBit): added PIC_OPTYPE subt in function prototype,
-       * (pic16_findPrevInstruction): fixed, it returned nothing,
-       * (insertBankSwitch): fixed to emit banksel/skip and skip/banksel
-       instruction combinations,
-       * (pic16_FixRegisterBanking): heavily reorganised,
-       * (pic16_AnalyzeBanking): if generating banksel directives is
-       disabled, then don't call FixRegisterBanking at all,
-       * src/pic16/ralloc.c (bitEQUs, aliasEQUs, allDefsOutOfRange):
-       completely removed,
-       * (pic16_writeUsedRegisters): added call to pic16_dump_gsection
-
-2004-06-29 Bernhard Held <bernhard AT bernhardheld.de>
-
-       * src/SDCCglue.c (printChar): fixed bug #973350, patch provided by
-       Phuah Yee Keat <yk.phuah AT nestac.com>
-
-2004-06-28 Vangelis Rokas <vrokas AT otenet.gr>
-
-       * src/pic16/glue.c (pic16createInterruptVect): function now emits
-       correctly the IVT even if it is relocated to some other location
-
-2004-06-28 Vangelis Rokas <vrokas AT otenet.gr>
-
-       * device/include/pic16/pic18fregs.h: added case for pic18f2220.h
-       * device/include/pic16/pic18f2220.h: NEW,
-       * device/lib/pic16/libdev/pic18f2220.c: NEW,
-       * device/lib/pic16/libdev/Makefile: added 18f2220 in DEVS,
-       * src/pic16/device.c (struct Pics16): added info for 18f2220,
-       * src/pic16/device.h (struct pic16_options): added ivt_loc and
-       nodefaultlibs, ivt_loc is the location of the interrupt vector
-       table, and nodefaultlibs signs that default libraries should not be
-       linked in link stage,
-       * src/pic16/gen.c (genFunction): relocate interrupt vector functions
-       according to --ivt-loc argument,
-       * src/pic16/main.c (_process_pragma): emit '_stack' as public symbol
-       when pragma stack is found,
-
-2004-06-25 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
-
-       * src/mcs51/peeph.def: added peepholes 182.d (return 0.0),
-       256 (range check), 257 (do while), 258.a-f (bit banging
-       f.e. on 3-wire SPI bus)
-
-2004-06-21 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/SDCClrange.c (findNextUseSym): fixed a live range bug with
-       variables used exclusively within a loop
-
-2004-06-21 Bernhard Held <bernhard AT bernhardheld.de>
-
-       * src/mcs51/gen.c (genCpl): quick fix for bug #974835
-
-2004-06-21 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/SDCClrange.c (computeClash): fixed bug #971834
-
-2004-06-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/mcs51/gen.c (genCmp): fixed bug #975903
-       * src/hc08/gen.c (operandsEqu),
-       * src/ds390/gen.c (operandsEqu),
-       * src/z80/gen.c (operandsEqu),
-       * src/pic/gen.c (operandsEqu),
-       * src/pic16/gen.c (operandsEqu),
-       * src/mcs51/gen.c (operandsEqu): fixed bug #976283
-       * src/SDCCmain.c (parseCmdLine): report --unknown-option only once
-
-2004-06-15 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/SDCCcse.c (cseBBlock): fixed bug #966963
-
-2004-06-12 Vangelis Rokas <vrokas AT otenet.gr>
-
-       * src/pic16/gen.c (genPointerGet): added E_INTERNAL_ERROR for
-       default case in switch statement,
-       * glue.c (pic16_initPointer): expr is initialised via decoarteType
-       to eliminate problem with initialisation of pointers, but problem
-       still exists,
-       * (pic16_pointerTypeToGPByte): removed, no needed for pic16,
-       * (emitStaticSegment): removed various lines emitting debug info,
-       * src/pic16/pcode.c, src/pic16/pcode.h, src/pic16/ralloc.h:
-       added processor registers for utilizing EEPROM,
-       * src/pic16/pcode.c (pic16_emitDB): number of DBs emitted is not
-       configurable and set 8
-
-2004-06-08 Vangelis Rokas <vrokas AT otenet.gr>
-
-       * .version: increased version number to 2.4.2,
-
-       Cumulative patch for pic16 port
-       * src/pic16/device.c: changed scheme to dump initial values for
-       variables in idata segment, all print_idata* functions were removed,
-       now the pic16_printIval* will be called,
-       * src/pic16/glue.c: (pic16_initPointer, pic16_pointerTypeToGPByte,
-       * _pic16_printPointerType, pic16_printPointerType,
-       * pic16_printGPointerType, pic16_printIvalArray, pic16_printIvalStruct,
-       * pic16_printIvalBitFields, pic16_printIvalFuncPtr, pic16_printIvalPtr:
-       NEW, similar to the respective functions in SDCCglue.c,
-       * src/pic16/pcode.c (pic16_emitDB, pic16_flushDB): reverted to old
-       way, emitting hex bytes,
-       * (pic16_emitDS): NEW, emits a string for pointer initialisation,
-
-2004-06-08 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/avr/ralloc.c (serialRegAssign),
-       * src/xa51/ralloc.c (serialRegAssign),
-       * src/pic/ralloc.c (serialRegAssign),
-       * src/pic16/ralloc.c (serialRegAssign),
-       * src/hc08/ralloc.c (serialRegAssign),
-       * src/z80/ralloc.c (serialRegAssign),
-       * src/ds390/ralloc.c (serialRegAssign),
-       * src/mcs51/ralloc.c (serialRegAssign): fixed bug #964479
-
-2004-06-08 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/SDCCicode.c (geniCodeJumpTable): fixed bug #967601
-       * src/SDCCpeeph.c (labelIsReturnOnly): fixed bug #966505
-
-2004-06-07 Vangelis Rokas <vrokas AT otenet.gr>
-
-       Cumulative patch for pic16 port:
-       * src/pic16/device.h (typedef PIC16_device) modified fields for
-       defining microcontrollers,
-       * src/pic16/device.c: added new info for all devices in Pics16 array,
-       * src/pic16/gen.c (genPcall): fixed bug that caused the return label
-       to be optimised out by the pCode optimiser,
-       * src/pic16/glue.c (pic16emitRegularMap): treat implicit aggragates
-       specially, bug reported by G.M. Gallant,
-       * src/pic16/pcode.c (pic16_newpCodeLabelFORCE): NEW, marks a label
-       as force'd so that cannot be optimised out by pCode optimiser,
-       * src/pic16/pcode.c,
-       * src/pic16/pcodepeeph.c,
-       * src/pic16/pcoderegs.c: many modifications to re-enable peepholes,
-       they are disabled by default, but can be enabled explicit with
-       command argument --denable-peeps, for testing,
-        * device/lib/pic16/startup/Makefile: added --no-peep,--pomit-config-words,
-        --pomit-ivt in COMPILE_FLAGS
-
-2004-06-06 Maarten Brock <sourceforge.brock AT dse.nl>
-
-       * src/pic16/pcode.c (pic16_emitDB): removed double semicolon which fails
-         compilation on MSVC
-
-2004-06-06 Maarten Brock <sourceforge.brock AT dse.nl>
-
-       * device/include/sab80515.h: added sfr P6, changed GPL to LGPL
-
-2004-06-06 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
-
-       device/include/sab80515.h: fixed bug #967492, DAPR is defined at adress
-       0xd8, but the correct adress is 0xda. Thanks to anonymous for reporting
-
-2004-06-06 Vangelis Rokas <vrokas AT otenet.gr>
-
-       * src/pic16/device.c (pic16_assignConfigWord): fixed bug that
-       would only assign 0x300001 register.
-
-2004-06-05 Vangelis Rokas <vrokas AT otenet.gr>
-
-       * device/lib/pic16/startup/Makefile: added $(MODELFLAGS)
-       in COMPILE_FLAGS. Thanks to G. Gallant for report.
-
-2004-06-05 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
-
-       * doc/sdccman.lyx: minor changes, mentioned beta vendor support
-       for ds80c400
-       * src/mcs51/peeph.def: ran unexpand -a over peeph.def
-       * src/mcs51/peeph.def: removed obsolete peephole 100.a,
-       added peephole 254 (left shift), 255 (jump table)
-
-2004-06-04 Vangelis Rokas <vrokas AT otenet.gr>
-
-       * device/lib/Makefile.in: removed comment line with model-pic16,
-       * (target port-specific-objects-pic16): the libraries and objects
-       are copied to the build directory form the device/lib/pic16/bin
-       directory
-
-       Cumulative patch concerning pic16 port:
-       * library directory has been re-organized,
-       * added support for PIC18F1220,
-       * added headers and library sources for chips 18f1220,18f6520,
-       18f6620,18f6680,18f6720,18f8520,18f8620,18f8680,18f8720
-
-       * configuration registers setting has changed, now each supported
-       device has a complete description of the registers it uses,
-       * all initialisations are moved to idata sections, these section
-       can be absolute or relocatable,
-       * fixed initialisation of codespace variables,
-       * fixed warning about PCLATU and gpsim,
-       * src/pic16/gen.c (genCmp): now can handle partially iCodes with no ifx,
-       * (genAssign): use table reads when assigning from variables in codespace,
-       * src/pic16/glue.c (pic16emitStaticSeg): fixed to correctly initialise
-       char/int variables placed in codespace,
-       * (pic16_emitConfigRegs): NEW, emits a list with configuration
-       registers set in .asm file, no need for --pomit-config-words anymore,
-       * (pic16glue): some 8051 legacy segments are commented out
-       (to be removed completely),
-       * added support for alternative assembler and linker with --asm=
-       and --link= command line arguments,
-       * peepholes are disabled automatically in the port, no need to
-       specify on command line,
-       * port supports natively char/int/long multiplication, but converts
-       all divisions to support functions,
-       * main.c: pic16_linkCmd and pic16_asmCmd changed to force output
-       to the file set in variable $2,
-       * pcode.c (pic16_emitDB, pic16_flushDB): modified to print printable
-       strings in ASCII format and not in hex,
-       * ralloc.c (serialRegAssign): added a triplet of conditional calls
-       to pic16_allocDirReg for IC_RESULT, IC_LEFT and IC_RIGHT so to
-       allocate proper register if iCodes aren't temporary,
-
-2004-06-02 Maarten Brock <sourceforge.brock AT dse.nl>
-
-       * support/regression/tests/zeropad.c: added TEST_G macro for alpha
-
-2004-06-02 Vangelis Rokas <vrokas AT otenet.gr>
-
-        * src/pic16/gen.c (genPcall): warning about gpsim and PCLATU
-       is commented out
-
-2004-06-01 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/hc08/gen.c (genPointerGetSetOfs): disabled optimization if
-       computed address is reused
-       * src/hc08/gen.c (genPackBits): fixed offsets in assignments to
-       multi-byte bitfields
-
-2004-06-01 Maarten Brock <sourceforge.brock AT dse.nl>
-
-       * src/z80/gen.c: (genArrayInit): must check for pointers too
-
-2004-06-01 Maarten Brock <sourceforge.brock AT dse.nl>
-
-       * support/regression/tests/zeropad.c: never meant to commit the
-         nestedstruct test: removed, added check for GCC version
-
-2004-05-31 Maarten Brock <sourceforge.brock AT dse.nl>
-
-       * src/SDCCast.c (createIvalArray): fixed bug 770487 SIGSEGV
-       * src/SDCCglue.c (emitRegularMap): fixed bug 770484 allocation problem
-       * src/SDCCglue.c (initPointer, printIvalType, printIvalStruct,
-         printIvalArray, printIvalFuncPtr, printIvalPtr, printIval): fixed
-         bugs 928906 and 954082 half-empty initializers
-       * src/SDCCsymt.h,
-       * src/SDCCsymt.c (getAllocSize): added for above fix
-       * src/z80/gen.c (genArrayInit): fixed bug 741044
-       * support/regression/tests/zeropad.c: added tests
-
-2004-05-30 Vangelis Rokas <vrokas AT otenet.gr>
-
-       * src/pic16/device.c (pic16_dump_section): corrected bug which
-       caused some symbols of the libraries to be misplaced
-
-2004-05-28 Vangelis Rokas <vrokas AT otenet.gr>
-
-       * src/pic16/glue.c,
-       * src/pic16/ralloc.h,
-       * src/pic16/ralloc.cc: prefixed IS_CONFIG_ADDRESS with PIC16_
-       to fix conflict with pic port
-
-2004-05-28 Vangelis Rokas <vrokas AT otenet.gr>
-
-       * src/pic16/glue.c (pic16emitStaticSeg): do not print as publics or
-       externs configuration variables,
-       * src/pic16/ralloc.h,
-       * src/pic16/ralloc.cc: IS_CONFIG_ADDRESS is made public and added
-       prototype in header, commented out some debug messages
-
-2004-05-26 Vangelis Rokas <vrokas AT otenet.gr>
-
-       * src/pic16/glue.c,
-       * src/pic16/main.c,
-       * src/pic16/pcode.c: added gpasm directives #FILE/#LINE
-       for gpasm COFF object generation. Thanks to D. Hawkins for
-       his patch info
-
-2004-05-25 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/ds390/main.c,
-       * src/mcs51/main.c: fixed sort order of mnemonics (thanks to Maarten
-       Brock for spotting this)
-       * src/ds390/gen.c (genEndFunction),
-       * src/mcs51/gen.c (genEndFunction): always save psw if function is an
-       interrupt handler and critical. Disable push/pop optimizations when
-       peephole optimizations disabled.
-
-2004-05-25 Vangelis Rokas <vrokas AT otenet.gr>
-
-       Updated pic16 library sources and headers.
-       * device/lib/pic16/pic18f*/ ,
-       * device/include/pic16/*.h: modified to handle structured SFR
-       definitions
-
-2004-05-25 Vangelis Rokas <vrokas AT otenet.gr>
-
-       * src/port.h (PORT structure): added hook initPaths, now each
-       port can declare its own default search paths,
-       which can been seen with the --print-search-dirs option,
-       see pic16 port for example,
-       * src/SDCCmain.c (setBinPaths, setIncludePaths, setLibPath,
-       setDataPaths): test to options.printSearchDirs is ifdef'ed out,
-       * (doPrintSearchDirs): NEW, replaces in a central manner the
-       printing of search dirs which was split in set*Paths functions,
-       * (main): added call to port->initPaths and doPrintSearchDirs,
-       * src/avr/main.c,
-       * src/ds390/main.c,
-       * src/hc08/main.c,
-       * src/izt/i186.c,
-       * src/izt/tlcs900h.c,
-       * src/mcs51/main.c,
-       * src/pic/main.c,
-       * src/pic16/main.c: modified port structures to reflect addition of
-       initPaths hook,
-
-       * src/pic16/device.c (regCompare): registers are finally sorted by name,
-       * (pic16_dump_section): for registers in same address reserve memory once,
-       * src/pic16/device.h (struct PIC16_device): changed variable gen_banksel
-       to no_banksel,
-       * src/pic16/genarith.c (pic16_genPlus): added code to handle cases where
-       result is greater in size than right or left,
-       * (pic16_genUMult8X8_8): there are some cases where the result can
-       be 16 bits size, so handle these,
-       * src/pic16/gen.c: changed some pic16_emitpcomment to DEBUGpic16_emitcode,
-       * (pic16_outBitC): modified to emit pcodes,
-       * (pic16_storeForReturn): using is_LitOp to see if operand is literal
-       or not,
-       * (genDivOneByte): implemented algorithm to divide 8-bits,
-       * (genCmp): uncommented goto, but issues still exist,
-       * (genAnd): fixed a bug with variables >8bits,
-       * (genPackBits): optimization added that uses BCF/BSF to change a
-       single bit,
-       * (genAssign): fixed bug when assigning floating point literals,
-       * src/pic16/glue.c (pic16glue): added assembler directive 'code' before
-       __sdcc_gsinit_startup label,
-       * src/pic16/main.c (_pic16_init): removed search directory
-       initialisations,
-       * (_pic16_initPaths): NEW, used to initialise search directories,
-       * (_hasNativeMulFor): support functions for all except char/int
-       multiplication, and char division,
-       * (PIC16_port struct): modified entry for native mul support,
-       * src/pic16/pcode.c (insertBankSwitch): modified to support the renamed
-       no_banksel option,
-       * (buildCallTree): call to register_usage is ifdef'ed out,
-
-2004-05-22 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * device/include/string.h: applied Stas Sergeev's patch to make this
-       header file compatible with the preprocessor -Wundef option
-       * src/SDCCmain.c (main): abort compilation if preprocessor reports
-       failure (fixes bug #941458)
-
-2004-05-21 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/SDCCopt.c (killDeadCode): fixed bug #907733
-       * support/Util/SDCCerr.c: reworded E_AUTO_ASSUMED diagnostic to clarify
-       that the variable, not the function, should be static
-       * src/SDCCval.c (valCastLiteral): fixed bit initialization from literal
-       to be consistent with non-literal case
-
-2004-05-19 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/SDCCast.c (isConformingBody): fixed bug #949967
-       * src/SDCCopt.c (cnvToFcall, cnvToFloatCast, cnvFromFloatCast,
-       convilong): fixed bug #952086
-
-2004-05-18 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/SDCCmem.c (allocVariables): fixed bug #955321
-
-2004-05-18 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/hc08/main.c (_hc08_genAssemblerEnd),
-       * src/SDCCdwarf2.c (dwOpenFile, dwCloseFile, dwWriteFunction,
-       dwWriteModule, dwWriteCLine, dwWriteALine, dwarf2FinalizeFile):
-       completely eliminated the use of a temporary file
-       * src/SDCCdwarf2.c (dwWriteAttr): fixed bug with location list offset
-       when more than one file linked
-       * src/SDCCloop.c (pointerAssigned): fixed bug #954163
-
-2004-05-17 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/SDCCval.c (valForArray): applied Maarten Brock's patch #947682
-       which fixes bug #543481
-       * support/regression/tests/bug-751703.c: fixed comments left from a
-       cut and paste error
-       * src/SDCCdwarf2.c (dwCloseFile): don't explicitly close a temp file
-       * src/SDCCdwarf2.c (dwTagFromType): added bitfield support
-       * src/SDCCdwarf2.c (dwWriteSymbolInternal): handle extern within local
-       scopes
-       * src/SDCCdwarf2.c (dwWriteLineNumber): line number deltas are signed
-       * src/SDCCmain.c (processFile, parseCmdLine): non-alphanumeric chars
-       are now changed to underscores in moduleName
-
-2004-05-15 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
-
-       * as/mcs51/lkmem.c: better fix for bug #954173
-
-2004-05-15 Maarten Brock <sourceforge.brock AT dse.nl>
-       committed by Frieder Ferlemann <Frieder.Ferlemann AT web.de>
-
-       * device/include/c8051f020.h: newly added SiLabs (Cygnal) header file
-       * device/include/c8051f000.h,
-       * device/include/c8051f120.h,
-       * device/include/c8051f300.h,
-       * device/include/c8051f310.h,
-       * device/include/c8051f320.h: updated (added _XPAGE, CAPN, CAPP,
-       PWM16) and detab'ed
-
-2004-05-15 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
-
-       * doc/sdccman.lyx: mentioned sourceforge's delay between web frontend
-       and mailing lists, doc'ed --no-peep-comments, removed reference
-       to knoppix (newest version has no LyX/LaTeX), other minor changes
-       * src/SDCCglue.c (glue): save 2 bytes stack space with
-       option --main-return. The ljmp could probably be avoided too
-
-2004-05-14 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
-
-       * as/mcs51/lkmem.c, as/mcs51/lkaomf51: fixed bug 954173
-
-2004-05-14 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/SDCCsymt.h: added IS_AUTO(symbol) test macro
-       * src/SDCCopt.c (isLocalWithoutDef),
-       * src/SDCCicode.c (operandFromSymbol): use the IS_AUTO test macro
-       which adds a !IS_EXTERN codition. Fixes bugs #877426 and #751703.
-       (credit to Maarten Brock for patch #949363, on which this is based)
-       * support/regression/tests/bug-751703.c: some test cases of extern used
-       within inner scopes.
-
-2004-05-14 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/SDCCdwarf2.c (dwMatchTypes): structs must have matching
-       SPEC_STRUCT
-       * src/SDCCdwarf2.c (dwTagFromType): fix to handle recursive
-       struct definitions
-       * src/SDCCdwarf2.c (dwWriteModule, dwNewDebugSymbol, dwWriteEndFunction,
-       dwWriteLabel): fix to create valid debugger symbols even when
-       the module name has non-alphanumeric symbols in it
-       * src/SDCCdwarf2.c (dwWriteSymbolInternal): better detection for
-       when a variable's allocation has been optimized away
-
-
-2004-05-13 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/hc08/gen.c (hc08_emitDebuggerSymbol),
-       * src/hc08/main.c,
-       * src/mcs51/gen.c (mcs51_emitDebuggerSymbol),
-       * src/mcs51/main.c,
-       * src/ds390/gen.c (ds390_emitDebuggerSymbol),
-       * src/ds390/main.c,
-       * src/z80/gen.c (z80_emitDebuggerSymbol),
-       * src/z80/main.c,
-       * src/pic/gen.c (pic14_emitDebuggerSymbol),
-       * src/pic/main.c,
-       * src/pic16/gen.c (pic14_emitDebuggerSymbol),
-       * src/pic16/main.c,
-       * src/avr/gen.c (avr_emitDebuggerSymbol),
-       * src/avr/main.c,
-       * src/xa51/gen.c (xa51_emitDebuggerSymbol),
-       * src/xa51/main.c,
-       * src/SDCCdebug.c (emitDebuggerSymbol),
-       * src/SDCCdebug.h,
-       * src/port.h: added a debugger struct to the port struct. Added a
-       callback for defining debugger symbols
-
-       * src/SDCCast.c (createLabel),
-       * src/SDCC.y (labeled_statement): mark all compiler generated labels
-       with isitmp = 1
-       * src/SDCCicode.h,
-       * src/SDCCicode.c (geniCodeFunctionBody): added a link from the FUNCTION
-       iCode back to the ast for the function
-
-       * src/hc08/ralloc.c (hc08_assignRegisters),
-       * src/hc08/ralloc.h: define a regs struct for the stack pointer. Removed
-       unneeded fields from the regs struct.
-       * src/hc08/gen.c (transferRegReg, genFunction, genEndFunction): use the
-       pushReg() & pullReg() functions instead of emitcode()
-
-       * src/hc08/gen.c (genLabel, genhc08Code),
-       * src/SDCCdebug.h: Added additional debugger hooks needed for DWARF
-
-       * src/cdbFile.c (cdbWriteLabel, cdbWriteScope): Added stubs for unneeded
-       debugger hooks
-
-       * src/hc08/gen.c (genEndFunction, genhc08Code),
-       * src/hc08/gen.h,
-       * src/mcs51/gen.c (genEndFunction, gen51Code),
-       * src/mcs51/gen.h,
-       * src/ds390/gen.c (genEndFunction, gen390Code),
-       * src/ds390/gen.h,
-       * src/z80/gen.c (genEndFunction, genZ80Code),
-       * src/z80/gen.h,
-       * src/z80/z80.h,
-       * src/pic/gen.c (genEndFunction, genpic14Code),
-       * src/pic/gen.h,
-       * src/pic16/gen.c (genEndFunction, genpic16Code),
-       * src/pic16/gen.h,
-       * src/avr/gen.c (genEndFunction, genAVRCode),
-       * src/avr/gen.h,
-       * src/xa51/gen.c (genEndFunction, genXA51Code),
-       * src/xa51/gen.h,
-       * src/cdbFile.c (cdbWriteFunction, cdbWriteEndFunction): moved cdb
-       specific code to cdbFile.c and out of the backend code generators
-
-       * as/hc08/lkmain.c (main): removed OMF51 support from link-hc08
-       * as/hc08/lkarea.c (lnkarea): areas with NOLOAD attribute default
-       starting address is now 0
-
-       * as/hc08/asm.h,
-       * as/hc08/m08pst.c,
-       * as/hc08/asmain.c (asmbl): implemented the .sleb128 and .uleb128
-       assembler directive for DWARF support
-       * as/hc08/lkelf.c (elf): only increment address when rtflg[] set
-
-       * src/src.dsp,
-       * src/Makefile.in,
-       * src/SDCCdwarf2.c: preliminary DWARF (ver 2) debugger data generator
-
-2004-05-04 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/hc08/gen.c (genJumpTab, emitcode, genhc08code): fixed stack error
-       and inappropriate peephole optimization in jump tables
-
-2004-04-30 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
-
-       * as/hc08/m08pst.c,
-       * src/SDCCglue.c: sdccopt works for the hc08 port now
-
-2004-04-27 Bernhard Held <bernhard AT bernhardheld.de>
-
-       * src/SDCCicode.c (geniCodePreInc, geniCodePreDec): fixed bug #942130
-
-2004-04-27 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
-
-       * as/hc08/lkelf.c: sdccconf.h is not available in WIN32
-
-2004-04-24 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/SDCCpeeph.c (replaceRule): support empty replacement peephole
-       rules
-       * src/SDCCmain.c,
-       * src/SDCCglobl.h,
-       * src/SDCCpeeph.c (getPeepLine): new option --no-peep-comments omits
-       comments from the peephole optimizer replacement rules
-       * src/SDCCmem.c (printAllocInfoSeg): give actual location of spilled
-       symbols
-       * src/SDCCcse.c (updateSpillLocation),
-       * src/SDCCopt.c (killDeadCode, findReqv): better tracking of register
-       equivalents
-       * src/hc08/ralloc.c (regTypeNum): pseudo symbols must be in DATA only
-       * src/hc08/main.c (_hc08_finaliseOptions): made pointers to stack
-       objects far pointers
-
-2004-04-23 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/SDCCsymt.h: a missing part of my last change
-       * src/pic/ralloc.c (regTypeNum),
-       * src/pic16/ralloc.c (regTypeNum): fixed statement/declaration order
-
-2004-04-23 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/SDCCicode.h,
-       * src/SDCCicode.c (aggrToPtrDclType),
-       * src/SDCCptropt.h,
-       * src/SDCCptropt.c (ptrBaseRematSym, ptrPseudoSymSafe,
-       ptrPseudoSymConvert),
-       * src/pic/ralloc.c (regTypeNum),
-       * src/pic16/ralloc.c (regTypeNum),
-       * src/hc08/ralloc.c (regTypeNum),
-       * src/ds390/ralloc.c (regTypeNum),
-       * src/mcs51/ralloc.c (regTypeNum): check for dependancy hazards before
-       creating pseudo symbols (fixed bugs #777768, #930484, and #933966)
-
-2004-04-22 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * link/z80/lkmain.c (afile),
-       * as/hc08/lkmain.c (afile),
-       * as/mcs51/lkmain.c (afile): fix suggested by Maarten Brock to
-       prevent a pointer problem when a filename has no directory and
-       no extension specified.
-
-2004-04-21 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * link/z80/lkmain.c (afile): allow periods in directory names
-       * link/z80/lkmain.c (afile),
-       * as/mcs51/lkmain.c (afile),
-       * as/hc08/lkmain.c (afile): allow linker script file to have an
-       extension other than ".lnk"
-       * link/z80/lklex.c (getfid),
-       * link/z80/lkmain.c (parse),
-       * as/mcs51/lklex.c (getfid),
-       * as/mcs51/lkmain.c (parse),
-       * as/hc08/lklex.c (getfid),
-       * as/hc08/lkmain.c (parse): Support comments in the linker script
-       file on lines by themselves and after filenames
-
-2004-04-20 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
-
-       * as/link_hc08.dsp: Added as/hc08/lkelf.c to project.
-
-2004-04-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/z80/peeph-z80.def: removed some peephole rules that don't
-       work with multibyte arithmetic (fixed bug #937126)
-       * src/mcs51/peeph.def: fixed peephole rules 150-158 to apply only
-       to registers and not global variables
-       * src/SDCCicode.c (geniCodeAssign, ast2iCode, geniCodePostInc,
-       geniCodePreInc, geniCodePostDec, geniCodePreDec,
-       geniCodeLogicAndOr, geniCodeConditional): enforce strict lvalue
-       checking for assignments not internally generated (fixed bug #931895)
-       * src/SDCC.y (postfix_expr): ignore typedefs when looking for a
-       structure member (fixed bug #930072)
-
-2004-04-19 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/SDCCmain.c (linkEdit),
-       * src/hc08/main.c (_hc08_parseOptions),
-       * as/hc08/Makefile.in,
-       * as/hc08/aslink.h,
-       * as/hc08/asm.h,
-       * as/hc08/m08pst.c,
-       * as/hc08/lkrloc.c (relr, rele),
-       * as/hc08/lkarea.c (lnkarea)
-       * as/hc08/lkmain.c (afile, parse),
-       * as/hc08/lkelf.c: support for ELF output
-       * as/hc08/lks19.c (s19),
-       * as/hc08/lkihx.c (ihx): ignore areas with the NOLOAD attribute
-
-2004-04-17 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
-
-       * as/mcs51/lkihx.c: Fixed bug #899105.
-
-2004-04-16 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
-
-       * doc/sdccman.lyx: Added instructons on how to convert MSVC .dsw and
-       .dsp files from Unix to DOS.
-
-2004-04-16 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * doc/sdccman.lyx: removed the ANSI-C noncompliance note regarding
-       function pointers; we have been compliant for several months now.
-       * src/mcs51/ralloc.c (serialRegAssign): enabled part of my 2004-04-13
-       change that was accidently commented out
-       * src/mcs51/gen.c (freeAsmop, getFreePtr, freeForBranchAsmop, genIfxJump,
-       genCmpEq, jmpTrueOrFalse, genCmp, genAnd, genOr, genXor, genIfx): fixed
-       bug #922319
-
-2004-04-15 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/hc08/gen.c: output of all of the internal debugging information
-       is now controlled by the D() macro; it is disabled by default
-
-2004-04-13 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/mcs51/ralloc.c (serialRegAssign, fillGaps, allocThisReg): try
-       harder to keep the same registers during a CAST iCode
-       * src/SDCCopt.c (optimizeCastCast, eBBlockFromiCode): casts of char to
-       long via int can be done in a single cast, if the signedness is
-       correct.
-       * support/regression/tests/bug-927659.c: fixed to avoid conflict with
-       putchar() in tinibios.c in ds390's library
-
-2004-04-12 Bernhard Held <bernhard AT bernhardheld.de>
-
-       * src/SDCCast.c (decorateType): fixed bug #898889,
-       cast result of a literal complement too
-       * src/mcs51/ralloc.c (packRegsForAssign): fixed bug #930931,
-       fixed check for bitfields
-
-2004-04-11 Bernhard Held <bernhard AT bernhardheld.de>
-
-       * src/SDCCicode.c (geniCodeLogic): made it static,
-       (geniCodeLogicAndOr): added in order to fix bug #905492,
-       (ast2iCode): fixed bug #905492
-       * support/regression/tests/bug-905492.c: added
-       * src/SDCCast.c (decorateType): don't decorate/process parms twice,
-       (processParms): fixed bug #927659: don't copy parms, this will clear
-       decorated flag
-       * support/regression/tests/bug-927659.c: added
-
-2004-03-29 Bernhard Held <bernhard AT bernhardheld.de>
-
-       * src/SDCCast.c (addCast): don't cast float to char
-       * device/lib/libsdcc.lib: added _memmove
-
-2004-03-28 Bernhard Held <bernhard AT bernhardheld.de>
-
-       * device/lib/large/Makefile: fixed parallel execution by
-       replacing `make` by `$(MAKE)`
-
-2004-03-28 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/hc08/gen.c (genPointerGetSetOfs): correctly handle 1 byte array
-       offsets (fixes bug #923936)
-
-2004-03-26 Bernhard Held <bernhard AT bernhardheld.de>
-
-       * device/lib/small/Makefile: fixed parallel execution by
-       replacing `make` by `$(MAKE)`
-
-2004-03-23 Bernhard Held <bernhard AT bernhardheld.de>
-
-       * device/lib/vprintf.c (vsprintf): minor optimization, see bug #801101
-
-2004-03-23  Scott Dattalo  <scott AT dattalo.com>
-
-       * src/pic/gen.c (genCpl): multi-byte complements were not working.
-       * src/regression/Makefile: Regression test was not running.
-
-2004-03-23 Bernhard Held <bernhard AT bernhardheld.de>
-
-       * src/SDCCast.c (resultTypePropagate, decorateType): avoid promotion to int for
-       complement if possible
-       * src/SDCCval.c (valComplement),
-       * src/SDCCicode.c (operandOperation): fixed complement of literal
-       * support/regression/tests/onebyte.c (testComplement): added
-
-2004-03-22 Bernhard Held <bernhard AT bernhardheld.de>
-
-       * src/SDCCast.c (processParms): fixed bug #920866; decorateType() can
-       return an optimized tree; actually replace actParm with the new tree
-       * src/SDCCast.h: added some parantheses to remove side effects
-       * support/regression/tests/bug-920866.c
-
-2004-03-21  Scott Dattalo  <scott AT dattalo.com>
-       * src/pic/gen.c, src/pic/gen.h, src/pic/genarith.c, src/pic/pcode.c:
-       Bit operands were not being handled properly in the pic14 port.
-       (now src/regression/add.c passes again).
-
-2004-03-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/SDCC.y (labeled_statement): case and default no longer require
-       a following statement (RFE #893037)
-
-2004-03-19 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/mcs51/gen.c (pushSide, genSignedRightShift, genDjnz, geniPush):
-       use MOVA macro to avoid "mov a,acc" when peephole optimizer is
-       disabled (fixes bug #916294)
-       * sim/ucsim/s51.src/mov.cc (inst_mov_a_addr): Throw an error on
-       "mov a,acc"; patch provided by Lenny Story
-       * device/include/mc68hc908gp32.h: header contibuted by Juan Gonzalez
-
-2004-03-19 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/mcs51/gen.c (genFunction): optimize RECEIVE in reentrant
-       functions
-       * src/ds390/gen.c (genFunction, genEndFunction),
-       * src/ds390/ralloc.c (ds390_assignRegisters),
-       * src/mcs51/gen.c (genFunction, genEndFunction, mcs51_assignRegisters):
-       * src/mcs51/ralloc.c (mcs51_assignRegisters): Skip optimizing registers
-       pushed if there are parameters passed on the stack. Also, a cleaner
-       way to decide if r0/r1 should be pushed/popped. (Together they fix
-       bug #918693)
-
-2004-03-18 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * doc/sdccman.lyx,
-       * device/lib/mcs51/crtpagesfr.asm,
-       * device/lib/mcs51/crtxinit.asm,
-       * device/lib/mcs51/crtxstack.asm: Changed name of _PAGESFR to _XPAGE
-       to avoid confusion with Si Lab's SFRPAGE register.
-
-2004-03-17 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/SDCCglue.c (emitMaps): allow public sfr variables
-       * src/SDCCglue.c (initialComments): include compiler build date
-       with compiler version and put the timestamp of the generated
-       assembly file on a serperate line to be less confusing.
-       * src/port.h: added genInitStartup hook
-       * src/avr/main.c,
-       * src/ds390/main.c,
-       * src/hc08/main.c,
-       * src/pic/main.c,
-       * src/pic16/main.c,
-       * src/xa51/main.c,
-       * src/z80/main.c: genInitStartup initialize as NULL (default to
-       historical behaviour)
-       * src/SDCCglue.c (glue): _sdcc_gsinit_startup is now port specific.
-       * src/mcs51/main.c: (_mcs51_genInitStartup, _mcs51_genExtraAreas,
-       _mcs51_genXINIT, _mcs51_genRAMCLEAR): link initialization code from the
-       library instead of hard coding it into the compiler.
-       * support/regression/ports/mcs51-stack-auto/spec.mk,
-       * src/SDCCmain.c (linkEdit): added mcs51.lib to the link libraries
-       * device/lib/mcs51/Makefile,
-       * device/lib/small/Makefile,
-       * device/lib/large/Makefile,
-       * device/lib/mcs51/crtpagesfr.asm,
-       * device/lib/mcs51/crtstart.asm,
-       * device/lib/mcs51/crtxclear.asm,
-       * device/lib/mcs51/crtxinit.asm,
-       * device/lib/mcs51/crtclear.asm,
-       * device/lib/mcs51/crtxstack.asm: move most of the mcs51 C runtime
-       startup/initialization out of src/SDCCglue.c and src/mcs51/main.c
-       and into user configurable files.
-       * device/lib/clean.mk: clean mcs51 directory too
-       * support/regression/tests/longlit.c: added static to T1 declaration
-       * doc/sdccman.lyx: documented _PAGESFR sfr for customizing pdata
-       accesses in the initialization code
-
-2004-03-14 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * device/include/mc68hc908qy.h: corrected declarations of FLBPR and
-       OSCTRIMVAL as noted in bug #916008
-
-2004-03-14 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/SDCCloop.c (basicInduction): fixed bug with loop induction
-       in loops with multiple exits (reported as incorrect registers
-       used by Martin Helmling in Sdcc-user list)
-
-2004-03-12 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
-
-       * src/ds390/main.c (_ds390_genAssemblerPreamble): cosmetic change,
-       made ds390 register extensions look less like error messages
-
-2004-03-12 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/SDCCglue.c (printIvalPtr): fixed bug with pointer initializer
-       reported by Adam Wozniak in Sdcc-user list
-
-2004-03-10 Bernhard Held <bernhard AT bernhardheld.de>
-
-       * src/SDCCast.c (decorateType): fixed with bug and promotion in
-       arithmetic optimizations, added debug output
-
-2004-03-09 Bernhard Held <bernhard AT bernhardheld.de>
-
-       * device/lib/time.c (mktime): fixed bug reported by Bert Thomas
-       * sdcc.spec: updated and split sdcc into 3 rpms
-       * src/SDCCast.c (decorateType): &|^ don't need addCast(); addCast() is
-       needed for literals of LEFT_OP and '+'
-       * src/SDCCicode.c (geniCodeLogic): I must have been braindead when I
-       introduced RESULT_TYPE_NOPROM
-       (geniCodeMultiply): fixed logic for decision if mul is optimized to
-       left shift
-       * src/SDCCsymt.c (computeType): op is int; added RESULT_TYPE_OTHER;
-       limited promotion to int only for '*'
-       * src/SDCCsymt.h (computeType): op is int, removed RESULT_TYPE_NOPROM
-
-2004-03-09 Hans Dorn <hjdorn AT users.sourceforge.net>
-
-       * src/pic16/gen.c (genSkip),
-       (genc16bit2lit), (gencjneshort): commented out
-       (is_LitOp): new helper function, checks operand type
-       (genCmpEq): rewritten
-
-2004-03-08 Bernhard Held <bernhard AT bernhardheld.de>
-
-       * support/regression/tests/bug-908454.c: added
-
-2004-03-07 Bernhard Held <bernhard AT bernhardheld.de>
-
-       * src/SDCCast.c (addCast): fixed bug #908454 by promoting bits to char
-       * src/SDCCicode.c (usualBinaryConversions): op needs int type
-       (geniCodeCast): cosmetic, don't preserve bit storage class
-       (geniCodeLeftShift): added promotion
-       (geniCodeLogic): fixed regression
-       * src/SDCCsymt.c (computeTypeOr): accept bits too
-       (compareType): 2nd part of fix for bug #908454, needed for bitfields
-
-2004-03-07  Borut Razem <borut.razem AT siol.net>
-
-       * support/Util/findme.c: alloca() replaced with malloc()/free() pair
-
-2004-03-06 Vangelis Rokas <vrokas AT otenet.gr>
-
-       * src/pic16/ralloc.c (pic16_genPackRegisters): reverted to old
-       version of pic16_genPackRegisters which does not check if ic is a
-       CAST operator,
-       * src/pic16/gen.c (ifxForOp): disabled new and untested code in
-       function cause string1.c regression test fails
-
-2004-03-06 Bernhard Held <bernhard AT bernhardheld.de>
-
-       * sim/ucsim/configure.in,
-       * sim/ucsim/configure,
-       * sim/ucsim/doc/Makefile.in: use docdir
-       * src/SDCC.y: fixed sbit atrributes
-       * src/SDCCast.c (getResultTypeFromType): added support for bitfields
-       * src/SDCCast.c (decorateType): |^& need special promotion handling
-       * src/SDCCast.h,
-       * src/SDCCsymt.h: moved definition of RESULT_TYPE
-       * src/SDCCsymt.h (computeType),
-       * src/SDCCicode.c: computeType() needs op
-       * src/SDCCsymt.c (checkTypeSanity),
-       * doc/sddman.lyx: "plain" bitfields are unsigned
-       * src/SDCCsymt.c (computeTypeOr): added
-       * src/SDCCsymt.c (computeType): added support for bitfields, fixed
-       |^& ops
-       * src/SDCCval.c (val*): computeType() needs op
-       * src/SDCCval.c (valCastLiteral): fixed casting of bitfields
-       * support/regression/tests/onebyte.c: added tests for |^&
-
-2004-03-06 Hans Dorn <hjdorn AT users.sourceforge.net>
-
-       * src/pic16/gen.c: (genpic16Code) use copy of printILine's output
-       for writing icode into asm output.
-
-2004-03-05 Vangelis Rokas <vrokas AT otenet.gr>
-
-       * src/pic16/device.c: added some debug lines enabled
-       with macro DEBUG_CHECK,
-       * src/pic16/genarith.c: more debug in genPlus,
-       * (pic16_genUMult8XLit_16, pic16_genUMult8X8_16): removed,
-       * (pic16_genUMult16X16_16, pic16_genUMult16XLit_16): NEW,
-       * src/pic16/gen.c: added prototypes for pic16_genMult16X16_16,
-       * (aopForSym): onStack symbols are re-placed in data memspace,
-       and onStack flag is cleared,
-       * (pic16_popGetTempReg, pic16_popReleaseTempReg): modified to
-       copy temporary pcodeop,
-       * (genPcall): added warning for not updating PCLATU,
-       * (genFunction): removed test with IFFUNC_CALLEESAVES, its
-       always true for pic16 port,
-       * (genMultOneWord): NEW, supports integer multiplication,
-       * (genMult): modified to call genMultOneWord,
-       * (ifxForOp): added warning when return NULL,
-       * src/pic16/glue.c (pic16emitRegularMap): symbol implicit
-       flag is set before call to operandFromSymbol for implicit
-       added structures,
-       * src/pic16/main.c (_pic16_finaliseOptions): options.float_rent,
-       options.intlong_rent are set by default,
-       * (_hasNativeMulFor): modified to allow port generation of integer
-       multiplication,
-       * src/pic16/ralloc.c (pic16_allocDirReg): commented out line which
-       set regtype to REG_SFR for all registers, restricting seting the
-       accessBank flag for registers 0<= r < 0x80 and 0xf80<=r<=0xfff,
-
-2004-03-05 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
-
-       * src/mcs51/peephole.def: added 251.b and 253.x. 253.x are applied
-       more than 500 times in the regression tests
-
-2004-03-05 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * support/Util/SDCCerr.h,
-       * support/Util/SDCCerr.c,
-       * src/SDCC.y (struct_or_union_specifier, enum_specifier,
-       enumerator_list),
-       * src/SDCCsymt.c (addSymChain): show location of oriignal definition
-       for symbol conflicts.
-       * support/valdiags/tests/enum.c,
-       * support/valdiags/tests/tentdecl.c,
-       * support/valdiags/tests/struct.c: expect possible error messages
-       referring to original symbol definitions.
-       * src/SDCC.y (struct_or_union_specifier, struct_declarator),
-       * src/SDCCsymt.h,
-       * src/SDCCsymt.c (promoteAnonStructs): support anonymous struct/union
-
-2004-03-03 Hans Dorn <hjdorn AT users.sourceforge.net>
-
-       * src/pic16/gen.c (gencjne): fixed for right=REG / left=LIT
-
-2004-02-03 Vangelis Rokas <vrokas AT otenet.gr>
-
-       * src/pic16/ralloc.c (newReg): fixed bug #908929
-
-2004-03-02 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/ds390/gen.c: added missing #include "main.h"
-
-2004-03-02 Vangelis Rokas <vrokas AT otenet.gr>
-
-       * src/pic16/device.c (checkAddSym): NEW, adds a symbol to set while
-       checking if symbol is already in set,
-       * src/pic16/device.h: prototype for checkAddSym,
-       * src/pic16/gen.c: (_G): added entry interruptvector,
-       * (assignResultValue): removed some commented out lines,
-       * (genFunction): check for ISR via sym->type, absolute section for
-       interrupt code is created via a new pBlock, the goto instruction is
-       placed now correctly at the interrupt vector position, changed all
-       references from ivec to _G.interruptvector,
-       * WREG,STATUS,BSR are not saved in stack upon an entry to interrupt
-       is the interrupt is a high priority one, same for return from ISR,
-       * src/pic16/glue.c: changed all calls of addSetHead for publics and
-       externs to calls of checkAddSym,
-       * src/pic16/pcode.c (pic16_pBlockConvert2*): emit warning when
-       pic16_pcode_verbose flag is set,
-       * src/pic16/pcode.h: extern to pic16_pcode_verbose,
-       * src/pic16/pcoderegs.c: message about how many registers are saved
-       will only be emitted if pic16_pcode_verbose flag is set,
-
-2004-03-02 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/ds390/ralloc.h,
-       * src/ds390/ralloc.c (ds390_regWithIdx),
-       * src/ds390/gen.c (emitcode),
-       * src/ds390/main.h,
-       * src/ds390/main.c (instructionSize, ds390newAsmLineNode, updateOpRW,
-       ds390opcodeCompare, asmLineNodeFromLineNode, getInstructionSize,
-       ds390operandCompare, getRegsRead, getRegsWritten,
-       initializeAsmLineNode): customized instruction size calculation for
-       ds390, started basis for some register optimizations
-       * src/ds390/gen.c (gen390Code, emitcode): associate iCodes with
-       corresponding assembly output
-       * src/ds390/gen.c (genFunction, genEndFunction): added case to handle
-       missing push/pop of r0/r1. Optimized push/pops
-
-2004-03-01 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/mcs51/main.c (instructionSize): fixed ACALL size
-       * src/mcs51/main.c (updateOpRW): fixed bug with @dptr, @a+dptr operands
-
-2004-03-01 Vangelis Rokas <vrokas AT otenet.gr>
-
-       * src/pic16/device.c (pic16_dump_section): fixed a bug that allowed
-       the sorting of rlist with NULL elements
-       * (print_idataType, print_idata): NEW to create idata sections
-       * src/pic16/device.h: idataSymSet new variable
-       * src/pic16/gen.c (genFunction): fixed some bugs in string
-       comparing, improved the absolute section creation for ISRs,
-       added FSR0L/FSR0H in registers that are saved in an ISR,
-       * (genInline): fixed the processing of inline snippets,
-       now they undergo no process by the peephole optimizer
-       * src/pic16/glue.c (pic16emitRegularMap): symbols with initialiser
-       are placed in idataSymSet,
-       * (pic16emitStaticSeg): extern symbols are added in externs,
-       * src/pic16/ralloc.c (pic16_allocDirReg): work around to reduce bank
-       switching when aboslute variables are placed in access bank memory
-       * (pic16_writeUsedRegs): added call to pic16_dump_idata,
-       * (packRegsForSupport,packRegsForAccUse,packRegsForOneuse):
-       commented out with #if,
-       * (pic16_packRegisters): reintroduce the check for CAST because some
-       symbols are not correctly handled,
-       * src/pic16/pcode.h: changed the definition of pCodeAsmDir to hold a
-       pCodeInstruction instead of pCode,
-       * src/pic16/pcode.c (pic16_newpCodeAsmDir): modified for the new
-       pCodeAsmDir definition,
-       * (pic16_pCode2str, genericPrint): when an AsmDir pcode has a NULL
-       directive, then the argument directive is emitted without the leading
-       tab, hack for inline labels which must be in the first column,
-       * (compareLabel,pic16_findNextInstruction),
-       * (pic16_findPrevInstruction): added case for PO_ASMDIR,
-       * (insertBankSwitch): modified for the new pCodeAsmDir,
-
-2004-03-01 Hans-Juergen Dorn <hans.dorn AT apl-landau.de>
-       patch applied by Vangelis Rokas <vrokas AT otenet.gr>
-
-       * src/pic16/gen.c (pic16_popGet): case PO_DIR, adds the offset to
-       instance,
-       * (pushSide): commented out with #if,
-       * (assignResultValue): fixed some typos in saving
-       registers,
-       * (genPcall): FIXED and sync'ed with genCall,
-       * (genDataPointerGet,genDataPointerSet): using offset not leoffset
-       * (genNearPointerGet): fixed to handle some more cases,
-       implementation scheme via table reads,
-       * (genConstPointerGet): modified to access code memory correct,
-       * (genCodePointerGet,genNearPointerSet,genGenPointerSet): modified
-       and improved to handle some cases
-       * glue.c (printIvalType,printIvalChar,emitStaticSeg): use "DB"
-       instead of "RETLW" for init data
-       * src/pic16/ralloc.c (pic16_allocDirReg): warning when a symbol is
-       not IN_DIRSPACE, work around to reduce bank switching when aboslute
-       variables are placed in access bank memory (<0x80 and >=0xf80),
-       * src/pic16/pcode.c: added SFRs TBLPTR, TABLAT, added opcodes TBLRD,
-       TBLRD_POSTINC,TBLRD_POSTDEC,TBLRD_PREINC,TBLWT,TBLWT_POSTINC,
-       TBLWT_POSTDEC,TBLWT_PREINC
-       * Fixed initialisation of BSR, set "alias" for SSAVE to "0"
-       * (pic16_emitDB,pic16_flushDB): New functions to generate "DB"
-       directives
-       * (pic16_pCodeConstString): use "DB" instead of "RETLW"
-       * src/pic16/pcode.h: added TBLRD*,TBLWT*, added pic16_emitDB,
-       pic16_flushDB, made pic16_newpCodeAsmDir public, added TBLPTR, TABLAT
-       * src/pic16/ralloc.h: added IDX_BSR,IDX_TBLPTR*,IDX_TABLAT
-
-2004-02-29  Borut Razem <borut.razem AT siol.net>
-
-       * src/Makefile.in, src/SDCCutil.c, support/Util/findme.c,
-       support/Util/findme.h, support/Util/system.h: enhance binary relative
-       search for lib and include by using findProgramPath()
-
-2004-02-28 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/SDCCpeeph.h,
-       * src/SDCCpeeph.c (pcDistance),
-       * src/port.h,
-       * src/mcs51/ralloc.h,
-       * src/mcs51/ralloc.c (mcs51_regWithIdx),
-       * src/mcs51/main.h,
-       * src/mcs51/main.c (instructionSize, asmLineNode, updateOpRW,
-       mcs51opcodeCompare, asmLineNodeFromLineNode, getInstructionSize,
-       mcs51operandCompare, getRegsRead, getRegsWritten): made instruction
-       size calculation port specific, started basis for some register
-       optimizations
-       * src/mcs51/gen.c (genFunction, genEndFunction): added case to handle
-       missing push/pop of r0/r1. Optimized push/pops
-       * src/mcs51/ralloc.c (packregisters): fixed bug #727095
-       * device/lib/_modsint.c (_modsint),
-       * device/lib/_modslong.c (_modslong): fixed sign of result in non-asm
-       and stack version so regression tests pass
-
-2004-02-26 Bernhard Held <bernhard AT bernhardheld.de>
-
-       * src/Makefile.in (dep): include SLIBOBJS in dependency check
-       * src/SDCCast.c (decorateType): catch another small optimization
-       with '?' operator
-       * src/SDCCsymt.c (computeType): added comments and cosmetic changes
-       * src/SDCCval.c (valMult, valDiv, valMod, valPlus, valMinus, valShift):
-       modified to finally use computeType() all over SDCC,
-       see Feature Request #877103
-       * src/SDCCval.h: cosmetic
-       * src/SDCCicode.c (operandOperation): fixed EQ_OP bug, now same as in
-       valCompare(); regression tested in muldiv.c
-       * support/regression/tests/muldiv.c (testMod): mod sign follows
-       dividend only
-
-2004-02-23 Bernhard Held <bernhard AT bernhardheld.de>
-
-       * src/SDCCast.c (decorateType): fixed bug #902362
-       * doc/INSTALL.txt: fixed install instructions for win32
-
-2004-02-21 Bernhard Held <bernhard AT bernhardheld.de>
-
-       * device/include/Makefile.in (install): fixed by replacing spaces
-       by tabs
-       * doc/README.txt,
-       * doc/INSTALL.txt: updated for release
-       * doc/sdccman.lyx: added warning for --xstack being buggy
-
-2004-02-20 Bernhard Held <bernhard AT bernhardheld.de>
-
-       * src/pic16/ralloc.c (packRegsForAccUse):  disabled functions with #if
-       to eliminate build warnings.
-       * src/pic16/gen.c (pic16_popGet): fixed for gcc 2.95.4
-
-2004-02-20 Vangelis Rokas <vrokas AT otenet.gr>
-          Hans-Juergen Dorn <hans.dorn AT apl-landau.de>
-
-       * doc/sdccman.lyx: removed PIC16 from PIC16 Port Specific Options,
-       removed -penable-stack, added comment for stack pragma, added
-       warning for not initializing the stack/frame registers, removed
-       comment at interrupts section
-
-       Stack is made permanent, there is no ability to disable stack usage.
-       * src/pic16/device.h,
-       * src/pic16/device.c: removed all references to USE_STACK macro,
-       * src/pic16/device.c (pic16_dump_section): when no elements in
-       rlist, free rlist before return,
-       * (pic16_dump_int_registers): NEW, internal registers are a new set
-       of general purpose registers reused by each function,
-       * (checkAddReg): returns 1 if registers is added to set,
-       * (pic16_groupRegistersInSection): when a registers is of type
-       PO_GPR_TEMP add it in pic16_int_regs and not in pic16_rel_udata,
-       * src/pic16/device.h: memRange and Assigned Memory are deleted,
-       SRCASECMP macro is moved here from device.c
-       * src/pic16/genarith.c (pic16_pCodeOpType): added cases for
-       PO_PCLATU, PO_PRODL, PO_PRODH,
-       * (pic16_pCodeOpType, genMinus,
-       changed compares to "a" register, with AOP_ACC,
-       * (pic16_genPlus): fixed some bugs and indented properly,
-       * (pic16_addSign): changed size to size+offset in the MOVWF
-       instruction,
-       * (pic16_genUMult8XLit_8): NEW, uses processor MULLW instruction to
-       multiply 8-bit operand by literal, result is 8-bit,
-       * (pic16_genUMult8X8_8): NEW, uses processor MULWF instruction to
-       multiply 2 8-bit operand, result is 8-bit,
-       * (pic16_genMult8X8_8): modified to call genUMult8X*_8 functions and not
-       genUMult8X*_16,
-       * src/pic16/gen.c: changed accUse to contain WREG only,
-       * (pic16_emitcomment): renamed to pic16_emitpcomment,
-       * (aopForSym): allocated dir register when IN_DIRSPACE(space) is,
-       true, do not use immediate addressing any more unless sym is a
-       pointer in codespace,
-       * (aopForRemat): do not use immediate addressing when symbol not in
-       codespace and when symbol's address is requested,
-       * (aopOp): for-loop in if(sym->accUse) is modified for the new
-       accUse size (= 1),
-       * (aopGet): added case for AOP_ACC and don't return "accumulator
-       bug" but WREG instead,
-       * (popGetTempReg): pushes contents of temporary register in stack,
-       * (popReleaseTempReg): pops contents of temporary register from
-       stack. Use popGetTempReg/popReleaseTempReg in aligned pairs,
-       * (pic16_popGet): separated case AOP_ACC to return register WREG
-       from processor registers, AOP_PCODE not checks if pcop is PO_DIR
-       or PO_IMMEDIATE and initializes their instance/offset appropriately,
-       * The whole issue with aopForSym,aopForRemat,popGet) is to minimize
-       the use of immediate pointers to certain cases only.
-
-       * (pic16_pushpCodeOpReg, pic16_poppCodeOpReg): use pic16_popGet2p,
-       * (pic16_loadFromReturn, pic16_storeForReturn: NEW,
-       * (assignResultValue, genCall, genRet): modified to use the new
-       function return value scheme with WREG,PRODL,PRODH,FSR0L and FSR0,
-       genPcall is still broken,
-       * (genFunction): added code to create 'A' type pBlocks when
-       interrupt functions are generated, code not extensively tested yet,
-       ISRs push WREG,STATUS,BSR,PRODL,PRODH,FSR0L,FSR0H registers on stack,
-       * (genEndFunction): modified so ISRs pop stored registers from stack,
-       * (genMultOneByte): cleanup,
-       * (AccRsh): added flag andmask, to and result with appropriate mask,
-       * (genUnpackBits,genPackBits): fixed and can handle bit fields,
-       * (genDataPointerGet): fixed and reenabled its use,
-       * (genNearDataPointerGet): bugs fixed,
-       * (genDataPointerSet): bugs fixed,
-       * src/pic16/genutils.c: added functions pic16_DumpValue,pic16_DumpAop,
-       pic16_DumpSymbol, pic16_DumpOp,
-       * src/pic16/genutils.h: function prototypes for the above functions,
-       * src/pic16/glue.c: new flags initsfpnt, to initialize stack/frame
-       pointers,
-       * (pic16emitRegularMap): many many many improvements, but needs a
-       major cleanup,
-       * src/pic16/main.c: enable_stack in pic16_options is removed,
-       * (_pic16_parseOptions): removed command line options -penable-stack,
-       * (_process_pragma): emit stack symbol only when stack pragma is
-       processed,
-       * src/pic16/pcode.c: pic16_pc_fsr0 is removed, all operations are
-       redirected to FSR0L/FSR0H pair,
-       * (pic16_get_op, pic16_get_op2): modifications and improvements,
-       * (pic16_getRegFromInstruction, pic16_getRegFromInstruction2): added
-       cases PO_PRODL,PO_PRODH, pic16_getRegFromInstruction2 returns sane
-       for immediates,
-       * (insertBankSwitch): modified to handle cases like: (alfa + 1)
-       * (dumpPicOptype): NEW,
-       * src/pic16/pcode.h: added PO_PCLATU,PO_PRODL,PO_PRODH in enum,
-       * src/pic16/pcoderegs.c (pCodeRegMapLiveRangesInFlow): fixed bug
-       with movff instruction,
-       * src/pic16/ralloc.c: renamed typeRegWithIdx to pic16_typeRegWithIdx,
-       added pic16_int_regs, some packRegsFor* functions are commented out,
-       because produce errors,
-       * src/pic16/NOTES: minor modifications
-
-2004-02-18  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
-
-       * as/mcs51/aslink.h, as/mcs51/lkarea.c, as/mcs51/lkdata.c, as/mcs51/lkmain.c,
-       as/mcs51/lkmem.c, src/SDCCglob.h, src/SDCCmain.c: added options --stack-size and
-       --pack-iram.
-       * doc/sdccman.lyx: described options --stack-size and --pack-iram.
-       * as/mcs51/lkaomf51.c: fixed bug #895763
-
-2004-02-17 Bernhard Held <bernhard AT bernhardheld.de>
-
-       * device/include/c8051f320.h: added. Contributed by Maarten Brock.
-
-2004-02-17 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * doc/sdccman.lyx: added details about the HC08 storage classes and
-       interrupts, fixed the register usage info for z80 & gbz80
-
-2004-02-17 Vangelis Rokas <vrokas AT otenet.gr>
-
-       * doc/sdccman.lyx: added more pic16 port documentation
-       * device/include/pic16/: added header pic18fregs.h
-
-2004-02-16 Bernhard Held <bernhard AT bernhardheld.de>
-
-       * doc/sdccman.lyx: added Vangelis' contribution
-
-2004-02-16 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/SDCClrange.c (rlivePoint): live range of SEND operand should
-       extend to the next CALL or PCALL, not just to the next CALL.
-
-2004-02-16 Vangelis Rokas <vrokas AT otenet.gr>
-
-       * src/pic16/gen.c (genInline): fixed bug #896482 with inline assembly
-
-2004-02-15 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/mcs51/ralloc.c (packRegsForAssign, reassignAliasedSym): fixed
-       bug #895752 and a better fix for bug #716790
-
-2004-02-15 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/SDCCsymt.c (processFuncArgs): fixed bug #896796
-
-2004-02-14 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
-
-       * doc/sdccman.lyx: minor changes, minor changed
-
-2004-02-13 Bernhard Held <bernhard AT bernhardheld.de>
-
-       * src/SDCCicode.c (usualBinaryConversions): removed pic16 from ports
-       which can't handle SDCC_NEWONEBYTEOPS,
-       (geniCodeMultiply): removed conversion from mult to shift for pic14
-       and pic16
-
-2004-02-12 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/hc08/gen.h,
-       * src/hc08/gen.c (storeRegToAop, aopOp, aopAdrStr, accopWithAop,
-       rmwWithAop): Ported my 2003-10-02 fix for bug #663539 to the hc08,
-       thus fixing bug #895406
-
-2004-02-11 Bernhard Held <bernhard AT bernhardheld.de>
-
-       * device/lib/_modsint.c,
-       * device/lib/_modslong.c: sign follows divisor only
-       * src/hc08/gen.c (genMultOneByte): if result size is 1,
-       signs or signedness can be ignored
-       * src/SDCCast.c (addCast): cosmetic - added lineno to CAST
-       * src/SDCCast.c (resultTypePropagate): added even more ops: +, - and *,
-       added optimization for IFX,
-       (decorateType): Mult/Div/ModOneByte ops can handle all kind of signed
-       arguments;
-       reenabled optimization for IFX, which was removed on 2004-01-11
-       * src/SDCCast.h: added return type IFX
-       * src/SDCCicode.c: Mult/Div/ModOneByte ops can handle all kind of signed
-       arguments with 8 or 16 bit results; pic14 and pic16 ports use old
-       promotion behaviour; env. var. SDCC_NEWONEBYTEOPS selects the new,
-       SDCC_OLDONEBYTEOPS selects the old behaviour
-       * src/SDCCsymt.c (computeType): type2 can be NULL (for LEFT_OP);
-       changed again and commented promotion rule
-       * src/SDCCval.c (valDiv): promotion no longer necessary
-       * src/ds390/gen.c (genMultOneByte) (genDivOneByte) (genModOneByte),
-       * src/mcs51/gen.c (genMultOneByte) (genDivOneByte) (genModOneByte):
-       rewritten
-       * support/regression/tests/onebyte.c: added
-
-2004-02-11 Vangelis Rokas <vrokas AT otenet.gr>
-
-       * gen.c (genInline): reverted to old code for assemnling inline
-       code because of bug reported James Chadd
-
-2004-02-10 Vangelis Rokas <vrokas AT otenet.gr>
-
-       * ralloc.h: missing declarations from previous patch,
-       seems that patch for ralloc.h was never applied, fixed
-
-2004-02-10 Hans-Juergen Dorn <hans.dorn AT apl-landau.de>
-          patch committed by Vangelis Rokas <vrokas AT otenet.gr>
-
-       * pcode.c,
-       * pcode.h,
-       * ralloc.h: added FSR0L, FSR0H and other missing PIC16 SFR's for
-       indirect addressing. Marked FSR0 as deprecated
-       * gen.c (pointerCode): commented out, not needed now
-       (pic16_popGet2p): new MOVFF helper function
-       (genGenPointerGet),
-       (genGenPointerSet): reimplemented with MOVFF and POSTINC0
-       (shiftRLong): removed duplicate debugging info
-
-2004-02-10 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/ds390/gen.c (genNearPointerGet),
-       * src/mcs51/gen.c (genNearPointerGet): allow the genDataPointerGet()
-       optimization with bits, but not bitfields.
-       * src/ds390/ralloc.c (packRegisters),
-       * src/mcs51/ralloc.c (packRegisters): fixed bug #884453 & #880832
-
-2004-02-09 Bernhard Held <bernhard AT bernhardheld.de>
-
-       * src/SDCCcse.c (algebraicOpts): copy operands before modification
-
-2004-02-09 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/SDCCsymt.h,
-       * src/SDCCicode.c (operandFromSymbol),
-       * src/mcs51/ralloc.c (verifyRegsAssigned, serialRegAssign),
-       * src/ds390/ralloc.c (verifyRegsAssigned, serialRegAssign),
-       * src/z80/ralloc.c (verifyRegsAssigned, serialRegAssign),
-       * src/hc08/ralloc.c (verifyRegsAssigned, serialRegAssign),
-       * src/pic/ralloc.c (verifyRegsAssigned, serialRegAssign),
-       * src/pic16/ralloc.c (verifyRegsAssigned, serialRegAssign): fixed
-       bug #892038
-       * src/SDCCast.c (createIvalStruct, createIvalArray, gatherAutoInit),
-       * src/SDCCglue.c (emitRegularMap, printIvalStruct, printIvalArray,
-       printIvalCharPtr, printIvalPtr, printIval, emitStaticSeg, emitOverlay)
-       * src/SDCCsymt.c (newSymbol),
-       * src/SDCC.y (struct_or_union_specifier, enum_specifier,
-       enumerator_list),
-       * src/SDCCval.h,
-       * src/SDCCval.c (newiList): fixed bug #885705
-
-2004-02-08  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
-
-       * doc/sdccman.lyx: added section 3.1.4: sdcclib.
-       * as/mcs51/lkmem.c: report the size of the stack in .mem file.
-
-2004-02-08 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
-
-       * device/include/c8051f120.h,
-       * device/include/c8051f300.h,
-       * device/include/c8051f310.h: added/updated header files for Silicon
-       Laboratories (formerly Cygnal) CPUs. Contributed by Maarten Brock.
-       * doc/sdccman.lyx: minor changes, recommended diff -Naur and diff -u
-       in new section Submitting patches
-
-2004-02-08 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/mcs51/gen.c (genNearPointerGet, genPagedPointerGet,
-       genFarPointerGet, genCodePointerGet, genGenPointerGet,
-       genNearPointerSet, genPagedPointerSet, genFarPointerSet,
-       genGenPointerSet),
-       * src/ds390/gen.c (genNearPointerGet, genPagedPointerGet,
-       genFarPointerGet, genCodePointerGet, genGenPointerGet,
-       genNearPointerSet, genPagedPointerSet, genFarPointerSet,
-       genGenPointerSet),
-       * src/pic16/gen.c (genNearPointerGet, genPagedPointerGet,
-       genFarPointerGet, genCodePointerGet, genGenPointerGet,
-       genNearPointerSet, genPagedPointerSet, genFarPointerSet,
-       genGenPointerSet),
-       * src/pic/gen.c (genNearPointerGet, genPagedPointerGet,
-       genFarPointerGet, genCodePointerGet, genGenPointerGet,
-       genNearPointerSet, genPagedPointerSet, genFarPointerSet,
-       genGenPointerSet): fixed bug #892400
-       * src/pic16/gen.c (genSkipz, AccRol): disabled functions with #if 0
-       to eliminate build warnings.
-       * src/SDCCast.c (processParms),
-       * src/SDCC.y (function_declarator2, declarator2_function_attributes):
-       fixed bug 751859
-       * support/valdiag/valdiag.py: added GCC to the list of defines active
-       when compiling with gcc
-
-2004-02-07 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * support/Util/SDCCerr.h,
-       * support/Util/SDCCerr.c,
-       * src/SDCCast.c (decorateType, sizeofOp): complain when sizeof is used
-       with an incomplete type (fixed bug #883734)
-       * src/SDCCicode.c (geniCodeCast): fixed bug #890510
-
-2004-02-07 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/pic16/gen.c (genCmpEq, shiftRLong): fixed declarations
-
-2004-02-06 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/SDCCast.c (decorateType),
-       * src/SDCCicode.c (geniCodeParms, geniCodeCall): fixed bugs in my ANSI
-       function pointer implementation
-       * support/regression/tests/funptrs.c: added tests to verify both forms
-       of function pointers work correctly. Added tests to verify parameters
-       are passed in the correct order.
-
-2004-02-06  Vangelis Rokas <vrokas AT otenet.gr>
-
-       * device.c (regCompare): registers are sorted by ascending
-       address and increasing size,
-       * main.c (_pic16_finaliseOptions): removed the declaration
-       of compiler macro MCU. Now a macro of the format pic18fxxxx
-       will be defined from the command line
-
-2004-02-06  Hans-Juergen Dorn <hans.dorn AT apl-landau.de>
-           patch committed by Vangelis Rokas <vrokas AT otenet.gr>
-
-       * pcode.c (pic16initMnemonics): fixed typo in assignment to PCOP_RLNCF
-       PCOP_RLCF was overwritten!
-       * gen.c (genSkip): commented out calls to pic16_emitcode,
-       * (genCmpEQ): fixed "long" compares, only high word did get compared,
-       * (genlshTwo),
-       * (genRRC): added debugging info,
-       * (shiftL2Left2Result): Fixed bug, if offr > offl. Result got
-       overwritten while shifting,
-       * (shiftR2Left2Result): Fixed bug, if offr < offl. Result got
-       overwritten while shifting,
-       * (AccLsh),
-       * (AccRsh),
-       * (shiftLLeftOrResult),
-       * (shiftRLeftOrResult),
-       * (shiftRLong),
-       * (shiftLLong): Implemented with pic16_emitpcode
-       * (genlshFour): Replaced pic16_aopPut with pic16_emitpcode,
-       * (genLeftShift): Fixed bug, operand for shift by variable always
-       was "and"ed with 0x0f,
-       * (genLeftShiftLiteral),
-       * (genrshTwo),
-       * (genRightShiftLiteral): added debugging info,
-       * (genrshFour): added comment,
-       * (genRightShift): determined signedness from operand "left"
-       instead of "result"
-
-2004-02-04 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/SDCCicode.c (geniCodeParms),
-       * src/SDCCast.c (decorateType, processParms): support for ANSI-style
-       function pointers, fixed function pointer bugs #861242 and #861896
-
-2004-01-31 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
-
-       * device/include/c8051f000.h,
-       * device/include/c8051f120.h,
-       * device/include/c8051f300.h: added header files for Silicon
-       Laboratories (formerly Cygnal) CPUs. Contributed by Maarten Brock.
-
-2004-01-31 Bernhard Held <bernhard AT bernhardheld.de>
-
-       * src/SDCCast.c (processParams): added new type flow and restructured
-       (gatherAutoInit): added new type flow
-       (addCast): cosmetic changes
-       (getLeftResultType): added new type flow for array indices, patch
-       provided by Stas, see FR #877103
-       (decorateType): SDCC_NEWTYPEFLOW removed, new type flow is now standard;
-       array index patch by Stas
-       * src/SDCCast.h: added prototype getResultTypeFromType()
-       * src/SDCCval.h,
-       * src/SDCCval.c (resolveIvalSym) (resolveIvalSym),
-       * src/pic/glue.c (pic14emitStaticSeg),
-       * src/pic16/glue.c (pic16emitStaticSeg),
-       * src/SDCCglue.c (emitRegularMap) (emitStaticSeg): added new type flow
-       for initialization of symbols
-       * src/SDCCicode.c (geniCodeArray): removed warning W_ARRAY_BOUND
-       * support/Util/SDCCerr.h:
-       * support/Util/SDCCerr.c: replaced W_ARRAY_BOUND by W_IDX_OUT_OF_BOUNDS
-       * .version: bumped version number to 2.3.8
-       * device/include/Makefile.in (install),
-       * doc/Makefile (install): changed to 'rm `find ...`' construct to
-       avoid warnings
-
-2004-01-30 Bernhard Held <bernhard AT bernhardheld.de>
-
-       * support/regression/tests/libmullong.c: fixed for 64 bit hosts
-       Slade Rich fixed an optimization bug
-       * src/pic/pcodepeep.c,
-       * src/pic/pcoderegs.c
-       * doc/Makefile (install): added test for directory
-
-2004-01-30 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/mcs51/ralloc.c (getRegPtr, getRegGpr),
-       * src/ds390/ralloc.c (getRegPtr, getRegGpr),
-       * src/pic/ralloc.c (getRegPtr, getRegGpr),
-       * src/pic16/ralloc.c (getRegPtr, getRegGpr),
-       * src/z80/ralloc.c (getRegGpr): fixed bug #883361
-       * as/mcs51/asexpr.c (term),
-       * as/hc08/asexpr.c (term): fixed bug #887146
-
-2004-01-29 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/z80/gen.c (genMult): handle single byte result product
-       * src/SDCCopt.c (killDeadCode): never convert ADDRESS_OF iCode to
-       DUMMY_READ_VOLATILE (fixed bug #886367)
-
-2004-01-27 Bernhard Held <bernhard AT bernhardheld.de>
-
-       * support/regression/tests/libmullong.c: fixed logic, on little endian
-       hosts we ended without a mullong_wrapper()
-
-2004-01-27 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * ChangeLog: changed "@" to " AT " in hopes of reducing spam and
-       virus/worm forged address usage.
-
-2004-01-27 Bernhard Held <bernhard AT bernhardheld.de>
-
-       Fixed promotion, it should be done on AST level:
-       * src/SDCCast.c (addCast): added promotion to int
-       (decorateType): updated call to upCast()
-       * src/SDCCicode.c (geniCodeLeftShift): removed call to
-       usualUnaryConversions()
-
-2004-01-26  Michael Hope  <michaelh AT juju.net.nz>
-
-       * support/regression/tests/literalop.c (mulWrapper): Added a
-       wrapper to remove integer overflow warnings.
-
-       * support/regression/tests/float_trans.c: Made work on host.
-
-       * support/regression/ports/ucz80/spec.mk (UCZ80): Made detect the
-       location of sz80.
-
-       * support/regression/generate-cases.py (main): Changed from inline
-       to a main method.
-
-       * doc/Makefile (install): Changed to depth first to get rid of
-       missing directory install warning.
-
-       * as/Makefile (install-doc): Made work on Mac.
-
-2004-01-25 Bernhard Held <bernhard AT bernhardheld.de>
-
-       * src/SDCCast.c: added an additional type flow in decorateType() of
-       opposite direction, see feature request #860006; it's enabled at runtime
-       by setting the environment variable SDCC_NEWTYPEFLOW
-       * src/SDCCast.h: changed prototype of decorateType()
-       * src/SDCCglue.c (emitRegularMap): updated call of decorateType()
-       * src/SDCCicode.c (geniCodeDivision) (geniCodeModulus): promotion from
-       'char' to 'int' can be omitted, if both operands are 'unsigned char';
-       see feature request #877103
-       * src/SDCCval.c: updated call of decorateType()
-       (valBitwise): fixed bug #882876
-       (valMinus): added promotion
-       (valLogicAndOr): result is unsigned
-       (cheapestVal) (constVal): literals from 0...255 are 'unsigned char' now
-       * src/SDCCsymt.c (computeType),
-       * src/mcs51/gen.c (genCmpGt) (genCmpLt): literal 'unsigned char'
-       must not cause an unsigned operation
-       * src/pic/glue (pic14emitRegularMap),
-       * src/pic16/glue.c (pic16emitRegularMap): updated call of decorateType()
-
-2004-01-23 Bernhard Held <bernhard AT bernhardheld.de>
-
-       * src/pic/pcode.c (PCodeID): commented out left over debug code
-
-2004-01-20 Bernhard Held <bernhard AT bernhardheld.de>
-
-       * support/valdiag/tests/overflow.c: added shift tests
-       * src/pic/device.c,
-       * src/pic/gen.c,
-       * src/pic/gen.h,
-       * src/pic/glue.c,
-       * src/pic/main.c,
-       * src/pic/pcode.c,
-       * src/pic/pcode.h,
-       * src/pic/pcodepeep.c,
-       * src/pic/pcoderegs.c,
-       * src/pic/ralloc.c,
-       * src/pic/ralloc.h: applied patch from Slade Rich;
-       added support for multiple code pages and multiple RAM banks on the
-       PIC 14 port. The ASM files now no longer simply assume all the
-       code / RAM are in the same page / bank. This means the linker can
-       safely allocate code/RAM of separate ASM files to different pages/banks.
-       * doc/sdccman.lyx: added Slade's tips
-       * src/mcs51/peeph.def: fixed bug #880768
-
-2004-01-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/hc08/ralloc.c (rematStr): fixed bug #879282
-       * src/SDCCast.c (decorateType): fixed bug #880197
-
-2004-01-20  Michael Hope  <michaelh AT juju.net.nz>
-
-       * sim/ucsim/gui.src/serio.src/main.cc: Fixed unconditional use of
-       getopt.h.
-
-       * debugger/mcs51/cmd.c (getValBasic): Changed strtof to strtod as
-       strtof is not part of C89 and isn't included with Mac OS X.
-
-2004-01-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/hc08/gen.c (genPlusIncr, genUminus, genMinusDec, genCmp,
-       shiftL2Left2Result): fixed bug #879326
-       (genAnd, genOr, genXor): fixed bug when result was of type AOP_CRY
-       (genMultOneByte): fixed bug in signed vs unsigned multiplication
-       * sim/ucsim/hc08.src/inst.cc (inst_clr): added missing effective
-       address fetch for clr instruction
-       * device/lib/hc08/_mulint.c: created optimized assembly version
-       * src/SDCCdflow.c (computeDataFlow): fixed bug #878209
-
-2004-01-19 Bernhard Held <bernhard AT bernhardheld.de>
-
-       * src/SDCCicode.c (geniCodeArray): applied patch from Stas Sergeev
-       proposed in FR #877103
-
-2004-01-18 Bernhard Held <bernhard AT bernhardheld.de>
-
-       * src/SDCCval.c (cheapestVal): added missing checks
-       * src/SDCCicode.c (usualBinaryConversions): fixed condition
-       * src/SDCCicode.c (geniCodeAdd): fixed part of bug #877103
-
-2004-01-16 Klaus Flittner <klaus_flittner AT gmx.de>
-
-       * src/ds390/gen.c (aopOp3): fixed the assignment of different dptrs to
-       equal operands
-
-2004-01-16 Vangelis Rokas <vrokas AT otenet.gr>
-
-       * src/SDCCmain.c (linkEdit): variable $3 of the linker command is
-       loaded with the linker search paths (-L arguments) and the libraries
-       to be linked with the current source (-l arguments). Changes
-       currently will affect only the pic16 port.
-       * src/pic16/main.c (_pic16_finaliseOptions): add to the linker
-       include path the port specific paths and port specific libraries,
-       * gplink command now contains the $3 argument,
-       * src/pic16/device.h,
-       * src/pic16/device.c,: structure PIC_device is made public and
-       renamed to PIC16_device, the same for variable Pics which is renamed
-       to Pics16. Updated all references to them.
-       * src/pic16/glue.c (pic16glue): corrected bug with code
-       initialization which bypassed the variable initializations block.
-
-       * device/lib/pic16/Makefile.rules: removed --penable-stack from
-       COMPILE_FLAGS and added the --nostdinc option
-
-2004-01-15 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * device/include/mc68hc908jb8.h: Register defs for another member
-       of the hc08 family. Contributed by Bjorn Bringert - thanks!
-
-2004-01-14 Vangelis Rokas <vrokas AT otenet.gr>
-
-       Documenting changes from previous commits.
-       * configure.in (version 1.56),
-       * configure: initially I've added AC_CONFIG_SUBDIRS(device/lib/pic16)
-       when generating output files to configure the pic16 library,
-       but now I've commented it out, since gputils aren't installed in the
-       SF compile farm, so library won't compile
-
-       * device/lib/Makefile.in (version 1.56): initially I've added in
-       target 'all' the prerequestive 'model-pic16' so it compiled the
-       pic16 library, but now I've commented it out for the same reasons
-       above,
-       * added targets 'model-pic16' and 'objects-pic16' to compile the
-       library
-       * added target 'port-specific-objects-pic16' to handle the
-       generated libraries and copy them into the build/ directory
-       * added target 'clean-intermediate-pic16' to clean intermediate
-       files into pic16 directory
-       * in target 'installdirs' added line to create directory pic16 in
-       the installation path
-
-       * device/include/Makefile.in (version 1.11): in target 'install'
-       added lines to copy all header files to installation path,
-       * in target 'installdirs' added line create directory for pic16
-       headers in the installation path
-
-2004-01-13 Klaus Flittner <klaus_flittner AT gmx.de>
-
-       * src/ds390/gen.c (genCall): fixed a double use of acc and b after
-        a function call
-
-2004-01-13 Bernhard Held <bernhard AT bernhardheld.de>
-
-       * configure,
-       * device/lib/configure.in,
-       * device/lib/configure: fixed for autoconf 2.57
-
-2004-01-13 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/z80/main.c (_parseOptions): fixed the portmode= command line
-       option so that it actually works. Made it specific to the z80, since
-       the gbz80 doesn't have these kinds of I/O ports.
-
-2004-01-13 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * device/include/z180.h,
-       * device/lib/_memcpy.c,
-       * device/lib/_memmove.c,
-       * device/lib/_mulint.c,
-       * device/lib/ser_ir.c,
-       * device/lib/ser_ir_cts_rts.c,
-       * device/lib/_strcmp.c,
-       * device/lib/_strtok.c: fixed pragmas to non-deprecated form
-       * src/z80/main.c (_process_pragma): add support for pragmas bank and
-       portmode; added deprecation warning for bank= and protmode= forms.
-       Also, guard against buffer overflow.
-       * src/z80/gen.c (aopGet): generate better code for sfr banked read
-
-2004-01-13 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/hc08/main.c (_hc08_genAssemblerPreamble): fixed bug #875487. Also
-       changed interrupt vector table generation to only emit declared vectors.
-       * device/include/Makefile.in: added missing backslash
-       * device/lib/pic16/Makefile.rules: add $(MODELFLAGS) to $(CFLAGS)
-
-2004-01-13 Vangelis Rokas <vrokas AT otenet.gr>
-
-       Mainly changes to support compilation of the device libraries
-       * src/pic16/device.c: stack is allocated via symbol and not
-       via literal number. The symbol is placed in the corresponding
-       position of the data ram
-       * (pic16_dump_section): relocatable and absolute uninitialized
-       data are now emitted in sorted order to reduce section naming,
-       * src/pic16/ralloc.c (newReg): fixed bug with SFR's that
-       weren't marked as being in the access bank,
-
-2004-01-13 Vangelis Rokas <vrokas AT otenet.gr>
-
-       Added portion of GNU PIC Library under the directory
-       device/include/pic16 and device/lib/pic16. These files
-       contain the declarations of SFRs for the PIC18Fxx2 devices.
-       The directory is initialized via configure from toplevel.
-
-2004-01-12 Klaus Flittner <klaus_flittner AT gmx.de>
-
-       * src/ds390/gen.c (operandsEqu): fixed a little typo, that prevented
-       the spilllocations to be compared correctly
-
-2004-01-12 Bernhard Held <bernhard AT bernhardheld.de>
-
-       * src/SDCCast.c (decorateType): fixed bug introduced today
-
-2004-01-12  Borut Razem <borut.razem AT siol.net>
-
-       * src/SDCC.lex, support/Util/SDCCerr.h, support/Util/SDCCerr.c,
-       doc/sdccman.lyx: upper case pragmas are deprecated
-
-2004-01-12 Bernhard Held <bernhard AT bernhardheld.de>
-
-       * src/SDCCast.c (decorateType): replacing 'ul > 0' by  '!ul' results
-       in simpler and even better code
-
-2004-01-11 Bernhard Held <bernhard AT bernhardheld.de>
-
-       * src/SDCCicode.c (operandOperation): fixed bug #874819
-       * src/SDCCast.c (decorateType): fixed
-       char foo (unsigned long ul) { return ul > 0; }
-
-2004-01-11 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
-
-       * doc/sdccman.lyx: Moved and added some sections, small changes
-       all over. Telling LaTeX to be less strict with word spacing
-       to better keep the right margin. Changed some notes about
-       maintainance of the ports in section 3.2.1 - is it OK like this?
-
-2004-01-11 Vangelis Rokas <vrokas AT otenet.gr>
-
-       SDCC source changes:
-       * src/SDCCopt.c (cntToFcall, cnvToFloatCast, cnvFromFloatCast,
-       convilong): modified to inform the pic16 port that builtin functions
-       are external
-
-       PIC16 PORT specific changes:
-       * src/pic16/device.c pic16_dump_equates() added,
-       processor registers declared internally by the port are emitted in
-       the translation as equates,
-       * src/pic16/gen.c: inline code is passed unprocessed to the
-       translation,
-       * (pic16_popGetLit2): fnuction modified to take second operand as
-       pCodeOp pointer and not as literal,
-       * (popRegFromIdx): prefixed with pic16_,
-       * (pic16_popCombine2): modified to receive already allocated pCode
-       operands,
-       * (pic16_pushpCodeOpReg, pic16_poppCodeOpReg): added
-       * (genFunction): initializes local stack frame and pushes on stack
-       all the registers used by this function,
-       * (genEndFunction): restores all registers from stack and restores
-       stack frame,
-       * src/pic16/glue.c (pic16emitRegularMap): various changes and
-       improvements,
-       * (pic16glue): changed the program startup sequence,
-       * added new dbName code 'A' for functions placed in absolute section
-       * src/pic16/main.c: added function attribute _naked,
-       * added pragma 'code' to place a fnuction at an absolute address,
-       * added command line arguments --debug-ralloc and --pcode-verbose,
-       * (_pic16_finiliseOptions): options.all_callee_saves is set by default
-       * src/pic16/pcode.c (pic16_pBlockConvert2Absolute) added,
-       * (pic16_newpCodeOpLit2): modified to take the second operand as
-       pCodeOp pointer,
-       * (pic16_printpBlock): modified to emit each function in a separate
-       section,
-       * (pic16_get_op): modified to use the gpasm modifiers LOW,HIGH and
-       UPPER for immediate operands,
-       * src/pic16/pcodepeeph.c: added peephole support for the LFSR
-       instruction,
-       * src/pic16/peeph.def: all peepholes with movff are commented out,
-       because there is a problem in the pcode peep optimizer,
-       * src/pic16/ralloc.c: the register allocator can now reuse local
-       function symbols for another function. This saves register usage.
-       * src/pic16/ralloc.h: added flag isLocal in structure regs,
-
-       Added file src/pic16/NOTES with information about program writing on
-       the current port version.
-
-2004-01-11 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
-
-       * src/mcs51/peephole.def: added peepholes 177.c,d (redundant moves)
-       and peephole 252 (array access)
-
-2004-01-09  Borut Razem <borut.razem AT siol.net>
-
-       * src/SDCCmain.c : fixed #872250: -l command line defined library
-         files are scanned before standard library files
-
-2004-01-10 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/SDCCast.c (decorateType): fixed bug #874046
-
-2004-01-09  Borut Razem <borut.razem AT siol.net>
-
-       * support/scripts/sdcc.nsi: remove previous installation
-
-2004-01-09 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
-
-       * src/SDCCglue.c (createInterruptVect): don't append 7(5) padding
-       bytes for last interrupt vector (mcs51)
-       * sdcc.spec: fixed typo
-
-2004-01-09 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/mcs51/gen.c (genFunction, genEndFunction, genReceive, getTempRegs,
-       gen51Code): more efficient parameter receive for --model-large
-       ("bug" #845294)
-
-2004-01-09 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/ds390/main.c,
-       * src/z80/main.c: added missed needLinkerScript flags (more than
-       one port structure defined in these file)
-       * src/ds390/gen.c (aopForSym, aopOp, operandsEqu, aopOp3): fixed
-       bug #795325
-
-2004-01-08 Vangelis Rokas <vrokas AT otenet.gr>
-
-       * src/SDCCmain.c: removed various references to DEFAULT_PORT
-       * src/port.h: added flag needLinkerScript in port->linker
-       structure to inform whether to create a .lnk file or not,
-       * 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: changed appropriately to configure
-       needLinkerScript flag
-       * src/pic/gen.c,
-       * src/pic16/gen.c (genAddrOf): fixed bug #863624
-       * src/pic/glue.c: added variable udata_section_name to
-       override default uninitialized data segment definition for
-       devices only with SHAREBANK memory (reported from Erik Epetrich)
-       * (pic14emitOverlay): modified to emit a commented overlay segment
-       directive when no overlay data exist
-       * (picglue): modified to emit uninitialized data segment
-       according to udata_section_name
-       * src/pic/main.c (_pic14_parseOptions): added command line
-       options --udata-section-name=[name] to override default
-       udata definition name
-       * modified _linkCmd and _asmCmd to include compiler passed
-       arguments via -W option
-       * src/pic16/main.c: added $l in _asmCmd, changed extension for
-       object file from '.rel' to '.o' in port->linker structure,
-       changed size of fptr from 2 to 3 in port structure
-
-2004-01-07  Borut Razem <borut.razem AT siol.net>
-
-       * support/scripts/sdcc.nsi: update PATH
-       * support/scripts/sdcc.ico: craeted
-
-2004-01-07 Bernhard Held <bernhard AT bernhardheld.de>
-
-       * device/include/Makefile.in: fix install
-       * doc/Makefile: fix install
-
-2004-01-07 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/SDCCsymt.c (processFuncArgs): fixed superflous allocation noted
-       in bug #860505
-       * src/SDCCmem.c (printAllocInfoSeg, printAllocInfo): minor changes to
-       how the function variable allocation summary is displayed; also
-       include information about variables allocated to the overlay
-       segment
-
-2004-01-06  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
-
-       * as/mcs51/lkmain.c: Help about -Y option
-       * as/mcs51/lkarea.c: Fixed gcc warnings
-
-2004-01-06 Bernhard Held <bernhard AT bernhardheld.de>
-
-       * src/SDCCval.c (valShift): changed from 16 to 32 bit shift count,
-       fixed warning
-       * support/valdiag/tests/overflow.c: added
-       * src/SDCCast.c (decorateType),
-       * src/SDCCicode.c (geniCodeLeftShift): added promotion to int for
-       LEFT_OP (left shift)
-
-2004-01-06  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
-
-       * as/mcs51/lkmain.c: stack must be after data when option -Y is not used
-       (default behaviour).
-
-2004-01-06 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       A python script to validate compiler diagnostic messages. It can be
-       used to verify that sdcc complains about bad c source code and
-       gives a good location of the error.
-       * support/valdiag/Makefile,
-       * support/valdiag/valdiag.py,
-       * support/valdiag/tests/*
-
-2004-01-06 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/SDCC.y (enum_specifier, enumerator_list, opt_assign_expr),
-       * src/SDCCsymt.c (newEnumType),
-       * src/SDCCsymt.h
-       * support/Util/SDCCerr.c,
-       * support/Util/SDCCerr.h: fixed bug #871258 and some other unreported
-       enum related bugs.
-       * support/regression/tests/enum.c: added test for enum values that
-       require at least 2 bytes of storage.
-
-2004-01-06 Vangelis Rokas <vrokas AT otenet.gr>
-
-       * src/common.h: added ifndef/define/endif macros
-       around the header file.
-       Bug reported from Jesus Calvino-Fraga
-
-2004-01-06 Bernhard Held <bernhard AT bernhardheld.de>
-
-       * sdcc.spec: updated
-       * device/include/Makefile.in: don't install CVS directories
-       * device/lib/Makefile.in: added removal of CVS directories after install
-       * doc/Makefile: fixed install, added local_icons
-       * sim/ucsim/gui.src/Makefile.in: fixed an old typo
-       * src/mcs51/gen.c (genRightShift): fixed bug #870788
-       * src/ds390/gen.c (genRightShift): fixed bug #870788
-       * src/SDCCast.c (decorateType): fixed bug #870781
-
-2004-01-06 Vangelis Rokas <vrokas AT otenet.gr>
-
-       PIC16 port related changes:
-       * device.c: removed pic16_finalMapping and pic16_finalMappingSize,
-       added variable stackPos,
-
-       * gen.c: genCall, assignResultValue: added support for
-       pushing/retrieving function parameters to/from stack,
-       genFunction,genEndFunction: setup stack frame for the
-       generated function,
-       genAddrOf: will be changed according to bug 863624
-
-       * added files genutils.c and genutils.h which contain gen*
-       debugged and optimised functions extracted from gen.c
-
-       * glue.c: added variable 'externs' which holds extern symbols,
-       pic16emitRegularMap: is modified to properly handle relocatable
-        symbols under the new scheme,
-       pic16createInterruptVect: is modified
-       pic16printPublics: is modified to emit 'global' assembler directives,
-       added pic16_printExterns to print extern symbols,
-       pic16glue: initializes stack/frame pointer in the beginning of
-       the assembly output. Temporary hack, will be corrected later,
-       because gplink yet does not support stack and SDCC does not
-       yet support a type of crt0.o object to create the final binary.
-
-       * Removed many lines that contain 8051 legacy code.
-       * The code is finally placed under a 'code' directive.
-       * Added port specific options.
-
-       * _process_pragma: simplified since now we do not need *special*
-       include file to define SFR registers. But a separate header
-       will be needed. This will be developed later.
-       * _pic16_parseOptions: added, parses port specific options:
-       --pgen-banksel, --obanksel=, --pomit-config-words, --pomit-ivt,
-       --pleave-reset-vector, --penable-stack, --pstack-model, --debug-xtra
-       --preplace-udata-with=
-
-       * _pic16_setDefaultOptions: modified to initialize section names,
-       but hack is temporarly out of order since it needs improvement.
-       * _pic16_genAssemblerPreamble: configuration words are emitted by
-       their address instead of their name. This part is incomplete and
-       supports only the 18Fxx2 devices. Other devices will emit an error
-       during assembly since they do not contain the same set of config
-       registers
-       * _pic16_genIVT: is modified,
-
-       * pcode.c: added definitions for some hardware registers that are needed
-       for stack support
-       * added flag is2LitOp and variable pci_magic in pCodeInstruction.
-       All PCI entries are updated. Now LFSR is supported.
-       * Removed pic16_pciTRIS is mentioned by mdubuc in source
-       * added pic16_newpCodeOpLit2 to support instructions with
-       two literal arguments
-       * pic16_pCode2str: corrected code that emits assembler instructions
-       with two literal operands and those that have an access bit modifier
-       * genericPrint: now PC_ASMDIR pCodes, can emit a label if it exists,
-       this fixes a bug which caused some labels to be lost, when an
-       assembler directive was added, i.e. banksel,
-       * pic16_FixRegisterBanking: improved logic that causes the insertion
-       of bank switching,
-       * InlineFunction: functions that are called once, are not any more
-       inlined. This can be a port option in the future,
-
-       * pcode.h: added pCodeOpLit2 and added variable label in pCodeAsmDir
-
-       * ralloc.c: added pic16_rel_udata and pic16_fix_udata variables which
-       hold the corresponding uninitialized symbols,
-       * pic16_allocProcessorRegister: registers have explicit marked the
-       accessBank field,
-       * pic16_allocInternalRegister: registers are explicit marked as
-       not used,
-       * pic16_writeUsedRegs: pic16_dynDirectBitRegs was missing from the
-       processing list, so bit registers were lost,
-       *
-
-       * ralloc.h: added field 'accessBank' and original symbol operand
-       in register definition,
-       * removed the field isMapped from register definition,
-
-       ** Several functions have been removed from various sources:
-       BanksUsedFlow2,BanksUsedFlow,FixBankFlow,InstructionRegBank,
-       pic16_addMemRange,pic16_isREGinBank,pic16_dump_map,pic16_dump_cblock
-       isSFR,validAddress,mapRegister,assignRegister,pic16_assignFixedRegisters
-       pic16_assignRelocatableRegisters
-
-       ** others have been introduced:
-       pic16_areRegsSame,pic16_dump_section,checkAddReg,pic16_groupRegistersInSection
-       pic16_popGetLit2,pic16_popCombine2,pushw,pushaop
-
-2004-01-05 Vangelis Rokas <vrokas AT otenet.gr>
-
-       * support/scripts/inc2h.pl: changed definition of BIT_AT
-       to emit 'sbit at' instead of 'bit at'. This was a request.
-
-       PIC16 port related preliminary changes:
-       * gen.c: prefixed function popRegFromString with
-       pic16_ and all references to it corrected
-       * pcode.c: all pic16_pc_* hardware registers prefixed
-       with underscore (_),
-       pic16_popCopyGPR2Bit(): function sets register wasUsed=1
-       * ralloc.c: newReg(): when register is REG_SFR then
-       set address to rIdx,
-       pic16_allocProcessorRegister(): marks register wasUsed=0
-       pic16_writeUsedRegs(): added a call to assign processor
-       registers via pic16_assignFixedRegisters
-
-2004-01-04  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
-
-       * as/mcs51/aslink.h, as/mcs51/lkarea.c, as/mcs51/lkdata.c,
-       as/mcs51/lkmain.c, as/mcs51/lkmem.c: 8051 linker can now pack
-       variables in unused register banks.  Also the SSEG is placed
-       wherever there is enough space for it, and IDATA can be anywhere
-       in internal RAM.  For now compile using -Wl-Y[stack_size].
-       The mem file is different for this option as well, since it
-       makes no sense of talking about DSEG lenght.
-
-2004-01-02 Vangelis Rokas <vrokas AT otenet.gr>
-
-       * src/SDCClrange.c: fixed bug 869095 that caused segfault
-       in certain cases, e.g. when ROM assignment, patch provided
-       from Albert den Haan.
-
-2004-01-01 Bernhard Held <bernhard AT bernhardheld.de>
-
-       Many signedness and type propagation fixes:
-       * src/SDCCicode.c: made geniCodeCast() static
-       replaced SPEC_ by IS_ (cosmetic)
-       (operandOperation): fixed div and mod operation
-       (usualBinaryConversions): added support for promotion of char
-       (geniCodeMultiply): replaced (unsigned long) by (TYPE_UDWORD)
-       (geniCodeDivision): replaced (unsigned long) by (TYPE_UDWORD)
-       (geniCodeAdd): an array index will stay unsigned, even if promoted
-       from char to int
-       (geniCodeArray): ditto
-       * src/SDCCicode.h: made geniCodeCast() static: removed prototype
-       * src/SDCCsymt.c (computeType): added more support for char;
-       promotion of char is selectable by promoteCharToInt, fixed signedness
-       for all cases
-       (powof2): replaced (unsigned long) by (TYPE_UDWORD)
-       * src/SDCCsymt.h (powof2): replaced (unsigned long) by (TYPE_UDWORD)
-       * src/SDCCval (val*): replaced signedness calculation by
-       computeType()
-       rearranged if-branches (cosmetic)
-       (valShift): added warning W_SHIFT_CHANGED
-       (valCompare): fixed problem with different types
-       * src/hc08/rallo.c (leastUsedLR): fixed gcc 3.3 warning
-       * support/regression/tests/literalop.c: added many cases
-       * support/regression/tests/ast_constant_folding.c: changed finally to
-       'unsigned int'
-       * .version: new year, new version: 2.3.7
-       * src/SDCCmain.c (main): applied patch #866468
-       * debugger/mcs51/sdcdb.c (parseCmdLine): added -k for ucsim, patch
-       provided by Scott Bronson
-       * doc/sdccman.lyx: updated documentation for sdcdb
-       updated and added chapter tips
-
-2004-01-01 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/SDCCsymt.h: missing from yesterday's commits
-
-2003-12-31 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/SDCC.y (struct_or_union_specifier),
-       * support/Util/SDCCerr.c,
-       * support/Util/SDCCerr.h: verify that struct & union tags are used
-       as declared.
-
-2003-12-29 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/SDCCglobl.h: missing from yesterday's commits
-
-2003-12-28 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/SDCC.y (external_definition, type_specifier2, sfr_reg_bit,
-       sft_attributes, struct_declaration, parameter_declaration,
-       type_name, start_block, declaration_list),
-       * src/SDCC.lex (check_type): support redefinition of typedef names
-
-2003-12-22 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
-
-       * src/mcs51/gen.c (genPlus): added special handling for 256 byte
-       aligned xdata arrays. Erik helped me with the if clause.
-
-2003-12-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * device/lib/ds390/tinibios.c (CpuSpeed): suppress unreachable code
-       warning
-
-2003-12-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/SDCCast.h,
-       * src/SDCCast.c (newAst_),
-       * src/SDCCicode.h,
-       * src/SDCCicode.c (ast2iCode, newiCode),
-       * src/SDCCglobl.h,
-       * src/SDCC.y (logical_and_expr, logical_or_expr, conditional_expr,
-       expr, statement, expression_statement, selection_statement,
-       iteration_statement, expr_opt, jump_statement): foundation for tracking
-       sequence points
-       * src/SDCCopt.c (killDeadCode): fixed bug #861580 (needs the sequence
-       point code too)
-
-2003-12-19 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * support/Util/SDCCerr.c,
-       * src/SDCCast.h,
-       * src/SDCCast.c (createCase, createDefault, decorateType),
-       * src/SDCClabel.c (labelUnreach),
-       * src/SDCC.y (labeled_statement, jump_statement): More improvements
-       to error messages.
-       * support/Util/SDCCerr.c (werrorfl): fixed a non-standard declaration
-       (with thanks to Stas Sergeev)
-       * device/include/time.h,
-       * device/lib/time.c (CheckTime): suppress unreachable code warning
-
-2003-12-18 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/SDCCast.c (createIvalCharPtr),
-       * src/SDCCglue.c (printChar): fixed bug #862241 (an error in my fix for
-       bug #753752)
-       * support/regression/tests/nullstring.c: tests for these two bugs
-
-2003-12-18 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * support/Util/SDCCerr.h,
-       * support/Util/SDCCerr.c (E_NOT_ALLOWED),
-       * src/SDCC.y (struct_declaration, struct_or_union_specifier): complain
-       about storage class and 'at' used inside struct or union
-       * src/SDCCBBlock.c (iCodeFromeBBlock),
-       * src/SDCCcse.c (ifxOptimize),
-       * src/SDCCglue.c (emitRegularMap, initPointer, printIvalStruct,
-       printIvalArray, printiValFuncPtr, printIvalCharPtr, printIvalPtr,
-       printIval, emitStaticSeg, emitOverlay),
-       * src/SDCClabel.c (deleteIfx),
-       * src/SDCCopt.c (replaceRegEqv, eBBlockFromiCode),
-       * src/SDCCast.c (resolveSymbols, createIvalStruct, createIvalArray,
-       gatherAutoInit, processParms),
-       * support/Util/SDCCerr.h,
-       * support/Util/SDCCerr.c (werrorfl): Support for better error location
-       reporting for post-parse errors.
-
-2003-12-16 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/SDCCval.c (valPlus, valMinus, valShift): fixed some problems with
-       implicit casts via union; they don't work on big endian systems
-       (possible fix for bug #861138)
-
-2003-12-16 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
-
-       (committed by Erik Petrich <epetrich AT ivorytower.norman.ok.us> on Frieder's behalf)
-       * src/mcs51/main.c: fixed the fix for bug #737001
-
-2003-12-15  Borut Razem <borut.razem AT siol.net>
-
-       * support/scripts/sdcc.nsi: updated for NSIS 2.0 beta 4
-
-2003-12-14 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * support/makebin/makebin.c: put output in binary mode
-
-2003-12-13 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
-
-       * src/mcs51/main.c: fixed bug #737001 for the mcs51. SDCC clears
-       xdata and data memory on startup. Set the environment variable
-       SDCC_NOGENRAMCLEAR to disable this.
-       * src/mcs51/peephole.def,
-       * src/ds390/peephole.def: using the atomic test and clear instruction jbc
-       (allows non-interrupt and interrupt code to safely compete for a resource
-       without the non-interrupt code having to disable interrupts)
-
-2003-12-13 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/SDCCicode.c (geniCodeAdd),
-       * src/SDCCast.c (decorateType): fixed bug #857753 (need to be careful
-       with valFromType if type might be a pointer and host is big endian).
-       * src/SDCCast.c (decorateType): unary plus compatible with all arithmetic
-       types, not just integer types.
-       * src/SDCCsymt.c (addSymChain): clarified error message when symbol is
-       multiply defined with mismatching "at" address.
-
-2003-12-12 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/ds390/main.c (PORT tininative_port): fixed bug #858416
-       * src/SDCCglue.c (printChar, printIvalChar, emitStaticSeg),
-       * src/SDCCast.c (createIvalCharPtr, stringToSymbol): handle strings
-       with embedded nulls (fixed bug #753752)
-
-2003-12-12 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
-
-       * src/mcs51/main.c(_mcs51_genRAMCLEAR): using r0 instead of r1/r2.
-       Apparently this did not see much testing (endless loop)
-
-2003-12-11 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/z80/ralloc.c: set DISABLE_PACK_HL = 1 as a temporary fix to bug #855165
-
-2003-12-10 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/SDCCdebug.c (outputDebugSymbols, outputDebugStackSymbols, dumpSymInfo):
-       gracefully handle NULL memmap pointers
-
-2003-12-08 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/SDCCopt.c (killDeadCode): change iCode type to DUMMY_READ_VOLATILE
-       instead of deleting the iCode when an operand is volatile
-       * src/z80/gen.c (genDummyRead),
-       * src/mcs51/gen.c (genDummyRead),
-       * src/ds390/gen.c (genDummyRead),
-       * src/hc08/gen.c (genDummyRead): handle operands in IC_LEFT and/or IC_RIGHT,
-       not just IC_RIGHT
-       * src/SDCCicode.c (geniCodeCall): fixed bug #851607
-       * src/SDCC.y: fixed bug #850420
-
-2003-12-05 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       Applied z80 i/o port patch from Peter Townson and fixed some operators
-       to better handle operands in A register.
-       * device/include/z180.h
-       * src/SDCC.y
-       * src/SDCCglue.c
-       * src/z80/gen.c
-       * src/z80/gen.h
-       * src/z80/main.c
-       * src/z80/peeph-z80.def
-       * src/z80/peeph.def
-       * src/z80/z80.h
-
-2003-12-03 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/SDCCsymt.c (addSymChain, compareTypeExact): fixed bug #838241 again
-
-2003-12-01 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * device/lib/hc08/_mullong.c: Removed extra #endif
-
-2003-12-01 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * sim/ucsim/hc08.src/inst.cc,
-       * sim/ucsim/hc08.src/hc08mac.h: fixed some problems with CC flag bits and
-       carries from x to h
-       * src/hc08/gen.c (aopAdrStr): fixed problem with 16 bit immediate
-       * src/hc08/gen.c (XAccRsh): fixed problem with right shift
-       * device/include/stdarg.h: fixed varargs for hc08
-       * device/lib/Makefile.in,
-       * device/lib/hc08/Makefile,
-       * device/lib/hc08/_mulint.c,
-       * device/lib/hc08/_mullong.c: fixed some endian problems
-
-2003-11-28 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
-
-       * sdcc/src/mcs51/gen.c (genMultOneByte): help peephole 105
-       * sdcc/src/mcs51/peeph.def: added peephole 186.e array access in code space
-       * device/lib/_gptrget.c,
-       * device/lib/_gptrput.c: P2 not used any more (related to #850747, #785979)
-
-2003-11-27 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/SDCClrange.c (findNextUseSym, rlivePoint): fixed bug #849795
-       * src/SDCCast.c (astErrors): fixed bug #846007
-       * src/SDCCsymt.c (checkFunction): fixed follow-up bug on bug #846007
-
-2003-11-26 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/SDCCast.c (decorateType): disabled a transformation I added in
-       revision 1.188 (access to fields of a structure at an absolute address);
-       it breaks with bitfields, extern declarations, and gcse analysis.
-       * src/SDCCopt.c (isLocalWithoutDef): if ADDRESS_OF applied to a symbol, it
-       could be assigned through a pointer, so don't complain.
-       * src/SDCCast.c (astErrors),
-       * src/SDCCast.h,
-       * src/SDCCglue.c (emitRegularMap): fixed bug #847813
-
-2003-11-26 Vangelis Rokas <vrokas AT otenet.gr>
-
-       * src/pic16/main.c (_pic16_genIVT): fixed interrupt vector table
-       * src/pic16/main.c (_pic16_genAssemblerPreamble): re-enabled the
-       output of __config directives, since gpasm now supports them
-       * src/pic16/main.c (_pic16_finaliseOptions): define MCU
-       pre-processor macro, i.e. -DMCU=p18f452
-       * src/pic16/ralloc.c: renamed packRegisters to pic16_packRegisters,
-       and modified to handle 'cast' icode similarly to '=' icode
-       * src/pic16/device.h (typedef struct PIC_device): added field
-       'extMIface' to indicate that chip has external memory interface
-       * src/pic16/device.c: added chips 18F248, 18F258, 18F448, 18F458,
-       18F6520, 18F6620, 18F6680, 18F6720, 18F8520, 18F8620, 18F8680,
-       18F8720
-
-2003-11-26 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/SDCC.y (pointer): fixed bug #846006
-       * support/Util/SDCCerr.c: made W_PTR_TYPE_INVALID message clearer
-       * src/SDCCast.c (decorateType): fixed bug #846009
-       * src/ds390/peeph.def,
-       * src/ds390/gen.c (genAnd, genOr),
-       * src/mcs51/peeph.def,
-       * src/mcs51/gen.c (genAnd, genOr): fixed bug #846777
-
-2003-11-25 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       Fixed several common-sub-expression bugs (#772861, #768380, & #755323)
-       * src/SDCCdflow.c
-       * src/SDCCcse.c
-       * src/SDCCcse.h
-       * src/SDCCBBlock.h
-       * src/SDCCBBlock.c
-
-2003-11-23 Klaus Flittner <klaus_flittner AT gmx.de>
-
-       fixed bug #845089
-       * src/SDCCbitv.h,
-       * src/SDCCbitv.c: added function to free a bitvector
-       * src/SDCClrange.h,
-       * src/SDCClrange.c: added function to recompute the liveranges
-       * src/avr/ralloc.c,
-       * src/ds390/ralloc.c,
-       * src/hc08/ralloc.c,
-       * src/mcs51/ralloc.c,
-       * src/pic/ralloc.c,
-       * src/pic16/ralloc.c,
-       * src/xa51/ralloc.c,
-       * src/z80/ralloc.c: recompute the liveranges after register packing
-
-2003-11-21 Klaus Flittner <klaus_flittner AT gmx.de>
-
-       * src/SDCCloop.c (newInduction): fixed bug #845630
-
-2003-11-21 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/SDCCsymt.c (compareTypesExact): disabled debugging output
-       inadvertantly left behind from my 2003-11-12 change
-
-2003-11-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       Updated headers I neglected to commit yesterday.
-       * src/SDCClrange.h,
-       * src/SDCCicode.h
-
-2003-11-19 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/SDCCcse.c (algebraicOpts): fixed bug #773153
-       * src/SDCClrange.c (rlivePoint): need to mark IC_RESULT used if POINTER_SET op
-       * src/SDCCopt.c (eBBlockFromiCode),
-       * src/SDCClrange.c (hashiCodeKeys, sequenceiCode, computeLiveRanges): seperated
-       the creation of the key hash table from the sequencing so it can be used
-       earlier (for some GCSE bug fixes still pending)
-
-2003-11-15 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
-
-       * src/mcs51/gen.c (genPlus): generate shortcut for adding 0xab00
-       * support/regression/tests/addsub.c: testing genPlus shortcut
-
-2003-11-15  Borut Razem <borut.razem AT siol.net>
-
-       * src/SDCCmain.c: fixed bug #841645: -MM command line option passed to sdcpp
-
-2003-11-15 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/SDCCcse.c (cseBBlock): fixed bug #527779
-       * src/SDCCcse.c (deleteGetPointers): rewrote so that the set
-       ordering is immaterial.
-       * src/SDCCdflow.c (mergeInExprs): fixed bug #587536
-
-2003-11-14 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/SDCCicode.c (geniCodeAddressOf): fixed part of bug #840381
-       * src/SDCCopt.c (replaceRegEqv, isLocalWithoutDef): fixed other part
-       (SIGSEV) of bug #840381
-       * src/SDCCmain.c (linkEdit, assemble): fixed bug #841606 (don't
-       unlink new file before rename if new and old filenames are the same)
-
-2003-11-13 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
-
-       * src/mcs51/main.c: started fixing bug #737001 (SDCC not clearing
-       uninitialized variables) for the mcs51. Set environment variable
-       SDCC_GENRAMCLEAR to test.
-       xdata initialization slightly shorter
-
-2003-11-12 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/SDCCsymt.h,
-       * src/SDCCsymt.c (addSymTypeChain, compareTypesExact): fixed bugs
-       #838241 & 780691 (basicly the same bug)
-       * src/SDCCBBlock.c (iCode2eBBlock): fixed bug #840148
-       * src/SDCCBBlock.c (iCodeFromeBBlock): fixed bug #840162
-
-2003-11-11 Bernhard Held <bernhard AT bernhardheld.de>
-
-       * src/SDCCmain.c (linkEdit): "fix" #834252
-
-2003-11-11 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/SDCCast.c (removePostIncDecOps, removePreIncDecOps),
-       * src/SDCCast.h,
-       * src/SDCC.y: fixed bug #819403
-
-2003-11-08 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * support/regression/fwk/lib/testfwk.c: printn is recursive and thus needs
-       the reentrant attribute.
-       * src/hc08/gen.c (genPackBits): added missing stack readjustment
-       * sim/ucsim/hc08.src/inst.cc (inst_mov): fixed bugs with mov instruction
-       simulation
-       * src/SDCCast.c (decorateType): fixed bug with storage class not being
-       updated during pointer dereference; f.e. ~(((char *)1)*) was being
-       erroneously reduced to a literal.
-       * src/hc08/ralloc.c (packRegisters, rematStr),
-       * src/hc08/gen.c (aopForRemat): allow literals to be rematerialized in
-       some cases
-
-2003-11-08 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
-
-       * src/mcs51/main.c: fixed bug #838385. Thanks to Josef Pavlik for finding and fixing
-       * doc/sdccman.lyx: changed from 'article' to 'book'
-       * doc/Makefile: readded test_suite_spec and cdbfileformat
-
-2003-11-08 Bernhard Held <bernhard AT bernhardheld.de>
-
-       * device/include/stdlib.h: include malloc.h to comply with ANSI
-       * support/regression/tests/malloc.c: include stdlib.h instead of malloc.h
-
-2003-11-07 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
-
-       * doc/Makefile: sdccman.pdf should build with correct references (more info in commit msg)
-       * doc/clean.mk: also remove *.out files
-       * doc/sdccman.lyx: some additions, larger top/bottom margins
-
-2003-11-07 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/SDCC.y: fixed bug #837365
-       * support/regression/tests/bitopcse.c
-       * src/hc08/gen.c (genPointerGet): Don't assume pointer operand is
-       a symbol (might be valop instead)
-       * device/lib/Makefile.in: added errno.c to HC08SOURCES
-       * device/lib/clean.mk: added hc08 to the cleaning list
-
-2003-11-04  Borut Razem <borut.razem AT siol.net>
-
-       * configure, configure.in, sdcc_vc_in.h, sdcconf_in.h: reverted changes,
-         made 2003-11-04
-       * support/Util/NewAlloc.c, as/hc08/lklibr.c, as/mcs51/lklibr.c,
-         as/z80/aslist.c, as/z80/assym.c: removed inclusion of nonstandard malloc.h;
-         malloc is declared in standard stdlib.h
-
-2003-11-06 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * device/lib/hc08/Makefile: need to clean .rel not .o files
-       * src/hc08/gen.c (genDjnz): can't use djnz with extended addressing mode
-
-2003-11-06 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/port.h,
-       * src/hc08/main.c,
-       * src/mcs51/main.c,
-       * src/ds390/main.c,
-       * src/z80/main.c,
-       * src/avr/main.c,
-       * src/pic/main.c,
-       * src/pic16/main.c,
-       * src/xa51/main.c: added hasExtBitOp & oclsExpense functions to ports
-       * src/SDCCicode.c: changed several IS_FARSPACE tests to isOclsExpensive
-       tests (which uses the port's oclsExpense function)
-       * src/SDCC.y,
-       * src/SDCCast.c,
-       * src/SDCCicode.c,
-       * src/hc08/gen.c,
-       * src/ds390/gen.c,
-       * src/mcs51/gen.c: added support for the SWAP iCode (RFE #834167)
-
-2003-11-04 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/SDCCcse.c (ifxOptimize),
-       * src/SDCClabel.c (labelIfx, deleteIfx): When the condition to
-       an IFX iCode is volatile, convert to DUMMY_READ_VOLATILE instead
-       deleting the IFX iCode.
-       * src/hc08/ralloc.c: reduced unneeded slocs
-       * src/hc08/gen.c: fixed bug in asmopToBoolean
-
-2003-11-04  Borut Razem <borut.razem AT siol.net>
-
-       * configure, configure.in, sdcc_vc_in.h, sdcconf_in.h,
-         support/Util/NewAlloc.c, as/hc08/lklibr.c, as/mcs51/lklibr.c,
-         as/z80/aslist.c, as/z80/assym.c: decision to include malloc.h
-         transferred to configure
-
-2003-11-03 Bernhard Held <bernhard AT bernhardheld.de>
-
-       Use headers defined in the C[++] standards:
-       * sim/ucsim/gui.src/serio.src/fileio.cc
-       * sim/ucsim/gui.src/serio.src/frontend.cc
-       * sim/ucsim/gui.src/serio.src/main.cc
-       * sim/ucsim/gui.src/serio.src/posix_signal.cc
-       * support/Util/NewAlloc.c
-       * as/hc08/lklibr.c
-       * as/mcs51/lklibr.c
-       * as/z80/aslist.c
-       * as/z80/assym.c
-
-2003-11-03  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
-
-       * Added MSVC projects for hc08 assembler and linker:
-       all.dsp, config.dsp, sdcc.dsw, /as/hc08/as_hc08.dsp,
-       /as/hc08/link_hc08.dsp
-
-2003-11-03 Martin Helmling <Martin.Helmling AT octo-soft.de>
-
-        * debugger/mcs51/cmd.c: allows filename starting with digit(+ some debug)
-
-2003-11-02 Bernhard Held <bernhard AT bernhardheld.de>
-
-        * src/SDCCmain.c (linkEdit): "fixed" again bug #833605
-
-2003-11-01 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
-
-       * src/mcs51/main.c: xdata initialization is 13 bytes shorter now
-
-2003-10-31  Borut Razem <borut.razem AT siol.net>
-
-       * support/cpp2/cpplib.h,
-         support/cpp2/cpplib.c,
-         support/cpp2/cpplex.c,
-         support/cpp2/cppinit.c: introduced #pragma preproc_asm [ + | - ]
-         to switch _asm block preprocessing on / off. Default is
-         #pragma preproc_asm +
-
-2003-10-31  Borut Razem <borut.razem AT siol.net>
-
-       * support/cpp2/cpplex.c: Fixed _WIN32 problem with CR-CR-LF sequences
-         when outputting comment blocks (when executed with -C option) and
-         _asm (SDCPP specific) blocks
-
-2003-10-31 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * as/hc08/lkrloc.c (relr): Fixed ihx output, fixed lastAreaIndex warning
-
-2003-10-31 Klaus Flittner <klaus_flittner AT gmx.de>
-
-       * src/SDCCcse.c (updateSpillLocation): fixed bug #808027
-
-2003-10-31 Bernhard Held <bernhard AT bernhardheld.de>
-
-       * src/SDCCmain.c (linkEdit): "fixed" bug #833605
-       * src/SDCCast.c (decorateType): fixed bug #832664
-
-2003-10-31  Borut Razem <borut.razem AT siol.net>
-
-       * support\cpp2\cpplex.c: fixed for SDCPP:
-         comments(when executed with -C option) and _asm blocks
-         were included even if they where in skipped #if block.
-         Applied solution from GCC cpp 3.3.2
-
-2003-10-31  Borut Razem <borut.razem AT siol.net>
-
-       * src/SDCC.lex: sdcc now understands both formats:
-         '# <line_number> <file_name>' and
-         '#line <line_number> <file_name>'
-       * support/cpp2/cppmain.c: sdcpp now generates the standard
-         '# <line_number> <file_name>' instead of former
-         '#line <line_number> <file_name>'
-
-2003-10-30  Borut Razem <borut.razem AT siol.net>
-
-       * support/cpp2/cpphash.h,
-       * support/cpp2/cpplib.h
-       * support/cpp2/cpplex.c,
-       * support/cpp2/cppmain.c,
-       * support/cpp2/cppinit.c: fixed bug #828015 - Syntax variation for _asm character constants
-
-2003-10-30 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       Fixed a number of problems revealed by bug #827883.
-       * src/SDCCloop.c (loopInvariants): Spill location of the
-       result operand should be recomputed if extracted from
-       a loop. Also, don't extract assignments of an iTemp
-       from a literal.
-       * src/SDCCast.c (isConformingBody): loop reversal should
-       not occur if the control variable is involved with a
-       relational operator.
-
-2003-10-28 Bernhard Held <bernhard AT bernhardheld.de>
-
-       * .version: bumped to 2.3.6 to reflect the big improvements
-       made by Erik and Klaus. Thanks!
-
-2003-10-28 Klaus Flittner <klaus_flittner AT gmx.de>
-
-       Replaced the livrange code.
-       * src/SDCClrange.c: added new LR code
-       * src/SDCCloop.c,
-       * src/SDCCBBlock.h: removed remainig parts from old LR code
-       * src/ds390/ralloc.c,
-       * src/ds390/gen.c: minor fixes to make it work with new code
-
-2003-10-28 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * as/hc08/asm.h,
-       * as/hc08/lkrloc.c,
-       * src/hc08/gen.c,
-       * src/hc08/ralloc.c: Fix various warnings related to the hc08
-       * src/SDCCicode.c (geniCodePreInc, geniCodePreDec): Fixed bug #829717
-       (tweaked fix for bug #818696)
-
-2003-10-23 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/z80/ralloc.c (joinPushes): Fixed bug #828742
-
-2003-10-23 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/SDCCmain.c,
-       * sdccconf_in.h: Fixed bug #828387 (--disable-hc08-port didn't work)
-       * src/mcs51/gen.c (gencjneshort),
-       * src/ds390/gen.c (gencjneshort): Made comparison with AOP_IMMD operand
-       more efficient (per Scott Bronson's suggestion)
-
-2003-10-22 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       Extended the semantics of the critical keyword to include
-       individual statements. See RFE #827755 and #799831
-       * src/SDCC.y
-       * src/SDCCicode.c
-       * src/SDCCopt.c
-       * src/SDCCast.c
-       * support/Util/SDCCerr.c
-       * support/Util/SDCCerr.h
-       * src/mcs51/gen.c
-       * src/ds390/gen.c
-       * src/hc08/gen.c
-
-2003-10-19  Borut Razem <borut.razem AT siol.net>
-
-       * src/SDCC.lex: fixed bug #825944 - defined yytext_ptr to make it compile with flex 2.5.31
-
-2003-10-19 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/SDCCicode.c (geniCodePreInc, geniCodePreDec, ast2iCode):
-       Fixed bug #818696
-       * src/SDCCast.c (ast_print): Fixed --dumptree so that preincrement
-       and predecrement operand is displayed
-
-2003-10-13 Bernhard Held <bernhard AT bernhardheld.de>
-
-       * src/SDCCval.c (valMinus): fixed bug #826041
-
-2003-10-15 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       Some hc08 related updates that I missed earlier
-       * sim/ucsim/stypes.h
-        * support/regression/ports/hc08/spec.mk
-
-2003-10-15 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       New target "hc08" for the Motorola 68hc08 family of micros
-
-       * configure
-       * configure.in
-       * Makefile
-       * src/hc08/*
-       * src/SDCCmain.c
-       * src/port.h
-       * sim/ucsim/hc08.src/*
-       * sim/ucsim/configure.in
-       * src/ucsim/configure
-       * sim/ucsim/packages_in.mk
-       * as/hc08/*
-       * as/Makefile
-       * device/include/mc68hc908qy.h
-       * device/lib/hc08/*
-       * device/lib/Makefile.in
-       * support/regression/ports/hc08/*
-       * support/regression/Makefile
-
-2003-10-14 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/z80/gen.c: fixed bug revealed by ast_constant_folding.c
-       regression test
-       * src/ds390/gen.c (genCast): fixed bug #821957
-
-2003-10-13 Bernhard Held <bernhard AT bernhardheld.de>
-
-       * device/lib/logf.c: "fixed" overlay bug
-       * support/regression/ports/host/spec.mk: added m library
-       * support/regression/ports/mcs51-stack-auto/spec.mk: added float funcs
-       * support/regression/tests/float_trans: added (for Eric)
-
-2003-10-12 Bernhard Held <bernhard AT bernhardheld.de>
-
-       * src/mcs51/gen.c (genCpl): fixed bug
-       http://sf.net/mailarchive/message.php?msg_id=6263915
-
-2003-10-10 Bernhard Held <bernhard AT bernhardheld.de>
-
-       * src/SDCCast.c (decorateType): added extended constant folding
-       * src/SDCCsymt.c (computeType): cleanup
-       * src/SDCCval.c (valShift): minor optimization
-       * support/regression/tests/ast_constant_folding.c: added
-
-2003-10-09  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/SDCCmain.c: removed some unintended changes
-
-2003-10-09  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/SDCCmain.c (setParseWithComma): fixed bug #816685
-       * src/z80/gen.c: fixed part of bug #817589
-       * src/SDCCsymt.c (checkFunction): fixed bug #817895
-
-2003-10-08 Bernhard Held <bernhard AT bernhardheld.de>
-
-       Replaced cast (void **) with (void *) to avoid gcc 3 warning:
-       * src/SDCCcflow.c
-       * src/SDCCcse.c
-       * src/SDCCdflow.c
-       * src/SDCClabel.c
-       * src/SDCClrange.c
-       * src/SDCCmem.c
-       * src/SDCCopt.c
-       * src/SDCCpeeph.c
-       * src/SDCCset.c
-       * src/avr/ralloc.c
-       * src/ds390/ralloc.c
-       * src/izt/ralloc.c
-       * src/mcs51/ralloc.c
-       * src/pic/ralloc.c
-       * src/pic16/ralloc.c
-       * src/xa51/ralloc.c
-       * src/z80/ralloc.c
-       * src/z80/gen.c: removed unused label "release:"
-
-2003-10-06  Borut Razem <borut.razem AT siol.net>
-
-       * src/SDCC.lex: removed definition of unused variables
-         save_optimize and save_options
-
-2003-10-06 Bernhard Held <bernhard AT bernhardheld.de>
-
-       * clean.mk: removed '=' in "-maxdepth=1"
-       * src/SDCCloop.c: replace LRKLAUS with SDCC_LRKLAUS
-       * src/SDCClrange.c: replace LRKLAUS with SDCC_LRKLAUS
-
-2003-10-06  Borut Razem <borut.razem AT siol.net>
-
-       * src/SDCC.lex, src/SDCC.lex: use dbuf for "_asm" definitions;
-         my_unput() replaced by unput()
-
-2003-10-05 Bernhard Held <bernhard AT bernhardheld.de>
-
-       * src/SDCCloop.c (assignmentsToSym, loopInduction): cast argument of
-       setToNull() to (void *) to avoid gcc3.x's warning: "dereferencing
-       type-punned pointer will break strict-aliasing rules"
-       Old LR behaviour is again default; Klaus' LR can be choosen by
-       defining the environment variable LRKLAUS
-       * src/SDCCBBlock.h
-       * src/SDCCloop.c
-       * src/SDCClrange.c
-       * src/ds390/ralloc.c (spillThis): applied Klaus' patch
-       * clean.mk: fixed removal of files in bin/CVS/
-       * device/lib/clean.mk: fixed removal of directories small and large
-       * support/Util/SDCCerr.c: changed W_INT_OVL to ERROR_LEVEL_PEDANTIC
-       * src/SDCCicode.c,
-       * src/SDCCval.c: removed superflous test for pedantic
-
-2003-10-05  Borut Razem <borut.razem AT siol.net>
-
-       * src/SDCC.lex, support/Util/SDCCerr.c, sdcc/support/Util/SDCCerr.h:
-         Fixed bug #816692: introduced new ERROR_LEVEL_PEDANTIC warning
-         message "unmatched #pragma SAVE and #pragma RESTORE"
-
-2003-10-04  Frieder Ferlemann <Frieder.Ferlemann AT web.de>
-
-       * doc/sdccman.lyx: various additions and updates (interrupts, inline
-         assembly, critical functions, atomic, nojtbound)
-
-2003-10-04 Bernhard Held <bernhard AT bernhardheld.de>
-
-       Applied liferange patch from Klaus Flittner <klaus_flittner AT gmx.de>
-       * src/SDCCBBlock.h
-       * src/SDCCloop.c
-       * src/SDCCloop.h
-       * src/SDCClrange.c
-
-2003-10-03  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/z80/gen.h,
-       * src/z80/gen.c (aopOp, aopGet, aopPut, genDummyRead),
-       * src/mcs51/gen.h
-       * src/mcs51/gen.c (aopOp, aopGet, aopPut, genDummyRead),
-       * src/ds390/gen.h
-       * src/ds390/gen.c (aopOp, aopGet, aopPut, genDummyRead),
-       * src/SDCCicode.c (ast2iCode, geniCodeDummyRead): Fixed bug #663539
-       * src/SDCCopt.c (killDeadCode): Fixed bugs #663539 & #816705
-
-2003-10-02  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/z80/gen.c (genRet): fixed bug #524753
-       * src/z80/gen.c (genCast): fixed internal error on cast from
-       pointer to long
-       * src/z80/gen.c (_saveRegsForCall, emitCall): adapted Johan's
-       fix for bug #477835 to the z80
-       * src/z80/gen.c (genZ80code, _vemit2, _emit2): added support
-       for tracking iCodes in the peephole optimizer for z80
-
-2003-10-01  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/SDCCicode.c (geniCodeJumpTable, geniCodeSwitch): fixed
-       the other part of bug #814548
-       * src/SDCCpeeph.c (labelInRange): fixed bug #814558
-
-2003-09-30  Bernhard Held <bernhard AT bernhardheld.de>
-
-       * src/SDCCcse.c: fixed part of bug #814548
-
-2003-09-28  Borut Razem <borut.razem AT siol.net>
-
-       * src/asm.c: rewrite of printILine() to use temporary file instead
-         a pipe
-       * src/xa51/main.c: commented out declaration of int rewinds
-
-2003-09-27  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/SDCCicode.c (geniCodeJumpTable): Fixed bug #813206
-
-2003-09-26  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/SDCCdflow.c (computeDataFlow): Fixed bug #810746
-       * src/asm.c (printILine): Fixed bug #811015
-
-2003-09-22  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
-
-       *link/z80/lklibr.c, as/mcs51/lklibr.c: Improved memory allocation and
-       freeing.
-
-2003-09-21  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/z80/gen.c (setupToPreserveCarry): Fixed bug #796955
-       * src/z80/gen.c (setupPair, genMovePairPair): Fixed setupPair
-       to correctly handle general case of AOP_PAIRPTR
-       * src/z80/gen.c (aopGet, aopPut): Generalized AOP_PAIRPTR handling
-
-2003-09-21  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/mcs51/ralloc.c (fillGaps),
-       * src/ds390/ralloc.c (fillGaps): fixed bug #810093 (yet another
-       register positioning bug)
-
-2003-09-21  Bernhard Held <bernhard AT bernhardheld.de>
-
-       * device/lib/_fsdiv.c: replaced (1<<31) by (1ul<<31)
-
-2003-09-19  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/mcs51/gen.c (loadDptrFromOperand, genFarPointerGet,
-       genCodePointerGet, genGenPointerGet, genFarPointerSet,
-       genGenPointerSet): handle AOP_DPTR correctly when loading dptr
-       (ralloc doesn't intentionally do this now, but perhaps later)
-       * src/mcs51/ralloc.c (serialRegAssign, fillGaps),
-       * src/ds390/ralloc.c (serialRegAssign, fillGaps): fixed some
-       register positioning bugs (Fixed bug #762602 and #795325)
-       * src/SDCCicode.c (geniCodeDerefPtr): Track output class correctly
-       (Fixed bug #808779)
-       * src/z80/gen.c: increased _vemit2's buffer[] to handle long
-       lines that --i-code-in-asm generates
-
-2003-09-18  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
-
-       *link/z80/lklibr.c, as/mcs51/lklibr.c: Fixed Linux segfaults when
-       trying to fclose a FILE* that was already closed.
-
-2003-09-18  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/SDCCsymt.c (structElemType): fixed bug #808291 (members
-       of const struct should be treated as if const themselves)
-
-2003-09-18  Bernhard Held <bernhard AT bernhardheld.de>
-
-       * src/SDCCval.c (valPlus, valMinus): fixed bug #808337
-
-2003-07-06  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
-
-       * support/librarian/sdcclib.c: Generate correct offsets for libraries with
-       Unix (/n) and DOS (/r/n) line terminations.
-
-2003-09-17  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/SDCCopt.c (cnvFromFloatCast, cnvToFloatCast): fixed
-       bug #613775
-
-2003-09-16  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/mcs51/gen.c (genFunction, genEndFunction),
-       * src/ds390/gen.c (genFunction, genEndFunction): Moved save
-       and restore of EA so that stack offsets to parameters are
-       correct when using both critical and reentrant/stack-auto.
-       * src/z80/gen.c (aopOp): removed erroneous assertion about sloc
-       size (can be triggered in error if sloc is shared between
-       different sized objects)
-       * device/include/float.h: fixed macros to explicitly use
-       unsigned long where needed
-
-2003-09-15  Bernhard Held <bernhard AT bernhardheld.de>
-
-       Feature req. 799831: added code to allow nesting of critical functions
-       * src/mcs51/gen.c (genFunction, genEndFunction)
-       * src/ds390/gen.c (genFunction, genEndFunction)
-
-2003-09-14  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/SDCCsymt.c (sclsFromPtr),
-       * src/SDCCsymt.h,
-       * src/SDCCast.c (decorateType): fixed bug #462971. Also, better
-       support for standard C idiom of memory mapped variables; for
-       example, *((xdata int*)0x1234) = 1 is now internally equivalent
-       to xdata int at 0x1234 tempvar = 1.
-       * sim/ucsim/z80.src/inst_xd.cc: fixed bug #805483 with patch
-       provided by Akiya ISHIDA
-
-2003-09-13  Bernhard Held <bernhard AT bernhardheld.de>
-
-       * src/SDCCval.c (cheapestVal): reenabled to reduce int to char
-       * src/SDCCval.c (constVal): added reduction from int to char
-       * src/SDCCval.c (valMult, valDiv): fixed sign handling
-       * src/SDCCval.c (valShift): fixed after change of cheapestVal()
-       * src/SDCCval.c (valCompare): fixed EQ_OP and NE_OP; they have
-       to ignore the sign
-       * support/regression/tests/shifts.c: fixed
-
-2003-09-13  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/z80/gen.c (genXor): Fixed bug #805445
-
-2003-09-12  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       Fixed bug #621531 (const & volatile confusion in the type chain).
-       DCL_PTR_CONST, DCL_PTR_VOLATILE, & IS_PTR_CONST now exclusively
-       refer to the const or volatile state of the pointer itself.
-
-       * src/SDCCast.c
-       * src/SDCCglue.c
-       * src/SDCCicode.c
-       * src/SDCCsymt.c
-       * src/SDCCval.c
-       * src/SDCC.y
-       * src/SDCCsymt.h
-       * src/pic/gen.c
-       * src/pic/ralloc.c
-       * src/pic16/gen.c
-       * src/pic16/ralloc.c
-       * support/regression/tests/const.c
-
-2003-09-10  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
-
-       When checking for duplicated modules, use absolute paths
-       instead of relative paths.  Files changed:
-
-       * as/mcs51/lklib.c
-       * link/z80/lklib.c
-
-2003-09-09  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/SDCCicode.c (geniCodeLogic): fixed bug #797572
-
-2003-09-07  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * device/include/string.h: added size_t typedef, changed
-       prototypes to use size_t, eliminated separate reentrant and
-       non-reentrant declarations, added _memmove declaration
-       * device/lib/_memcpy.c: changed to use size_t instead of int,
-       changed /4 to >>2 to avoid division library call
-       * device/lib/_memcmp.c,
-       * device/lib/_memset.c,
-       * device/lib/_strncat.c,
-       * device/lib/_strncpy.c,
-       * device/lib/_strncmp.c: changed to use size_t instead of int
-       * device/lib/_memmove.c: new file (fixed bug #772294)
-       * device/lib/Makefile.in: added _memmove.c
-       * device/lib/z80/asm_strings.s: fixed bug #772290
-       * support/regression/tests/bitfields.c: attempt to fix host assertion
-       failure on amd64-unknown-linux2.2
-
-2003-09-06  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/z80/gen.c (aopPut, spillPairReg): fixed bug #800998
-       * src/z80/gen.c (genFunction, genEndFunction): fixed "bug" #774700
-       * as/z80/asmain.c (main): fixed bug #801766
-
-2003-09-06  Bernhard Held <bernhard AT bernhardheld.de>
-
-       * src/SDCCicode.c (ast2iCode): fixed differences in iCode with different
-       compilers
-
-2003-09-05  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/SDCCast.c (isConformingBody): fixed loop reversal bug
-       reported in bug #800609
-
-2003-09-04  Vangelis Rokas <vrokas AT otenet.gr>
-
-       * Top header beautifications in src/pic16 directory:
-         device.c, device.h, gen.c, gen.h, genarith.c, glue.c, pcode.c,
-         pcodeflow.c, pcodeflow.h, pcode.h, pcodepeep.c, pcoderegs.c,
-         pcoderegs.h, ralloc.c, ralloc.h
-       * main.c: added top header and GPL license notice
-       * pcode.c: fixed the if-conditional warning
-
-2003-09-04  Bernhard Held <bernhard AT bernhardheld.de>
-
-       * device/lib/_mullong.c: replaced int by short for gcc
-
-2003-08-31  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/SDCCpeeph.c (notVolatile, notVolatileVariable): handle IFX
-        and JUMPTABLE iCodes properly now (worked by accident before)
-       * src/mcs51/gen.c (leftRightUseAcc),
-       * src/ds390/gen.c (leftRightUseAcc): handle IFX and JUMPTABLE
-       iCode properly now. Use getSize instead of nRegs since a & b
-       aren't part of the nRegs tally.
-
-2003-08-31  Vangelis Rokas <vrokas AT otenet.gr>
-
-       * src/pic16/main.c: corrected offsets of interrupt vectors in _pic16_genIVT()
-       * src/pic16/pcode.c: fix to disable inserting BANKSEL directive
-         before instructions that use the _STATUS register
-
-2003-08-31  Bernhard Held <bernhard AT bernhardheld.de>
-
-       * src/mcs51/gen.c (freeAsmop): fixed off by one in stack offset (AOP_STK)
-       * src/mcs51/gen.c (genNearPointerSet): added missing opcode for
-       fetching of the pointer
-       * src/mcs51/gen.c (genNearPointerGet): added reuse of PREG,
-       copied from genNearPointerSet()
-       * src/mcs51/gen.c (genNearPointerGet): don't pop r0/r1, if RESULTONSTACK
-       * src/mcs51/gen.c: changed order of freeAsmop(left/right/result)-calls.
-       If they pop r0/r1 they must be called in the opposite order than aopOp().
-       * device/lib/_mullong.c: fixed for "--model-large --int-long-reent"
-       (resp. --stack-auto), prepared for --xstack
-
-2003-08-28  Frieder Ferlemann <Frieder.Ferlemann AT web.de>
-
-       * doc/sdccman.lyx: reverted tables to those in cvs 1.64
-
-2003-08-28  Bernhard Held <bernhard AT bernhardheld.de>
-
-       * device/lib/_startup.c: quick & dirty fix for ds390/ds400;
-       these ports have their own __sdcc_external_start()
-
-2003-08-26  Bernhard Held <bernhard AT bernhardheld.de>
-
-       pic patch provided by Slade Rich <slade_rich AT yahoo.com>
-       * src/pic/glue.c (pic14printPublics): fixed bug introduced when symbol
-       type for bits was changed. It resulted in bit variables becoming
-       global, which is not permitted in PIC 14 assembly output.
-
-2003-08-23  Frieder Ferlemann <Frieder.Ferlemann AT web.de>
-
-       * doc/sdccman.lyx: various additions and updates. Rearranged sections
-
-2003-08-22  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
-
-       Z80 and MCS51 linkers complaint if a public symbol is defined
-       in more than one library module:
-
-       * as/mcs51/lklib.c
-       * link/z80/lklib.c
-       * as/mcs51/Makefile.in
-
-2003-08-22  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       A few small changes that speed up the peephole optimizer.
-
-       * src/SDCCpeeph.c
-
-2003-08-22  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       Try to make the peephole optimizer smarter by maintaining
-       an association between the assembly source code and the
-       iCodes that originated them. Put this information to use
-       with a new peephole rule condition "notVolatile" so that
-       the rules can be aggressive yet still safe.
-
-       * src/SDCCpeeph.c
-       * src/SDCCpeeph.h
-       * src/mcs51/gen.c
-       * src/mcs51/peeph.def
-
-2003-08-20  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       Fixed bug #741761
-
-       * src/mcs51/gen.c (aopForSym, leftRightUseAcc),
-       * src/ds390/gen.c (aopForSym, leftRightUseAcc): preserve A and B
-       if the left or right operand symbols have the accuse flag set.
-
-2003-08-20  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       Changed the type of the result of the ! (NOT) operator to char;
-       previously it returned the same type as the source. This allows
-       us to eliminate all the genFloatNot functions (all of its target
-       implementations were very buggy) since !float can use the same
-       code as !long now.
-
-       * src/SDCCicode.c (ast2iCode): ! returns char
-       * src/mcs51/gen.c (genNot, genNotFloat),
-       * src/ds390/gen.c (genNot, genNotFloat),
-       * src/z80/gen.c (genNot, genNotFloat),
-       * src/pic/gen.c (genNot, genNotFloat),
-       * src/pic16/gen.c (genNot, genNotFloat): eliminated genNotFloat
-
-2003-08-19  Bernhard Held <bernhard AT bernhardheld.de>
-
-       pic patch provided by Slade Rich <slade_rich AT yahoo.com>
-       1. Interrupt would not compile properly. Ensure PCLATH register is saved
-          during interrupts. Ensure WSAVE is located at a shared bank address.
-       2. Fixed page selection in some places
-       3. Fixed BTFSS/C to where necessary use registers directly and not simply
-          the registers name strings.
-       4. Fixed "signed / unsigned compare" compiler warnings.
-       5. The PIC port manages its own allocation of the general purpose
-          registers, but makes no attempt to reuse them. As a result when
-          compiling it soon runs out of general purpose registers. Some
-          additional code was added to the files pcode.c and device.c to walk
-          through the function call tree and rename the registers so that they
-          get reused.
-
-       * src/pic/device.c
-       * src/pic/gen.c
-       * src/pic/glue.c
-       * src/pic/pcode.c
-       * src/pic/pcode.h
-       * src/pic/ralloc.c
-       * src/pic/ralloc.h
-       * src/pic/genarith.c: Fixed problems with PIC 14 port in functions
-       genPlus() & genMinus() when the result is the same as left or right
-
-2003-08-18  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/z80/gen.c (isUnsplitable, fetchPairLong): fixed bug #770454
-
-2003-08-18  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       Made bitfield a distinct type from bit so that bitfields
-       convert as per ANSI C and bits retain their traditional
-       boolean style behaviour. Implemented bitfield support in
-       the z80 port.
-
-       * src/SDCCsymt.h,
-       * src/SDCCsymt.c,
-       * src/SDCCast.c,
-       * src/cdbFile.c,
-       * src/mcs51/gen.c,
-       * src/ds390/gen.c: bit v bitfield split
-       * src/z80/gen.c: New support for bitfields
-       * support/regression/tests/bitfields.c: reenabled z80,
-       added more tests
-
-2003-08-17  Frieder Ferlemann <Frieder.Ferlemann AT web.de>
-
-       Rules 246.x, 247.x relate to bitfields, the others speed up
-       access to xdata mapped I/O devices.
-
-       * src/mcs51/peeph.def: added 26 peepholes 246.x - 248.x, 180.x
-
-2003-08-16  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       Cleaned up genPackBits and genUnpackBits and added two helper
-       functions, emitPtrByteGet & emitPtrByteSet. Added optimizations
-       for literal assignments in genPackBits (thanks to Frieder for
-       reminding me).
-
-       * src/mcs51/gen.c
-       * src/ds390/gen.c
-
-2003-08-16  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       Fixed bug #748310 (pointer to function type mishandled when the
-       function name is omitted). Also fixed a SIGSEGV when a function
-       attribute (reentrant, etc) is used on a non-function or on a
-       function but misplaced before the parameter list.
-
-       * src/SDCC.y (abstract_declarator, abstract_declaractor2): fixed
-       bug #748310
-       * src/SDCC.y (declarator2_function_attributes): avoided SIGSEGV
-       * support/Util/SDCCerr.h,
-       * support/Util/SDCCerr.c: Added func attr misuse error msg
-
-2003-08-13  Bernhard Held <bernhard AT bernhardheld.de>
-
-       Fixed bug #787649 by anonymous
-       * src/SDCCglue.c (emitRegularMap): added emission of sloc for func ptr
-       * src/ds390/gen.c (aopForSym): fixed func ptr in sloc
-
-2003-08-14  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       Fixed numerous bitfield problems.
-
-       * src/SDCC.y: More bitfield related error checking
-       * src/SDCCsymt.h,
-       * src/SDCCsymt.c (compStructSize): fixed bitfield offset calc
-       * support/Util/SDCCerr.h,
-       * support/Util/SDCCerr.c: Added & edited some bitfield err msgs
-       * src/mcs51/gen.c (genPackBits, genUnpackBits): fixed mask bugs
-       * src/ds390/gen.c (genPackBits, genUnpackBits): fixed mask bugs
-       * support/regression/tests/bitfields.c: tests added
-
-2003-08-13  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       Made the constant following the "interrupt" keyword optional. If
-       omitted, the function will not automatically be given an entry
-       in the interrupt vector table (similar to #pragma NOIV, but
-       less syntacticly kludgy). The interrupt number is also now
-       range checked. Also fixed a bug in the high order bit example
-       in the manual.
-
-       * src/SDCC.y
-       * src/SDCCmem.c
-       * src/SDCCglue.c
-       * src/SDCCsymt.h
-       * support/Util/SDCCerr.c
-       * support/Util/SDCCerr.h
-       * doc/sdccman.lyx
-
-2003-08-13  Bernhard Held <bernhard AT bernhardheld.de>
-
-       * src/SDCCcse.c (algebraicOpts): fix bug converting op from value to type
-       * src/SDCCicode.c (operandOperation): rewritten some ops
-       (*, ==, unary_minus) to fix possible overflows and to accord with ANSI
-       * src/SDCCsymt.c (computeType): literals are handled the same way as any
-       other type
-       * src/SDCCval.c (cheapestVal): removed, it doesn't accord with ANSI (can
-       be re-activated by defining REDUCE_LITERALS)
-       * src/SDCCval.c (constVal): fixed; hex and octal constants can be
-       unsigned, but are signed by default
-       * src/SDCCval.c (constVal): rearranged
-       * src/SDCCval.c (valMod): preliminary fix
-       * src/SDCCval.c (valCastLiteral): use TYPE_* types
-       * support/regression/literalop.c: added, work in progress
-
-2003-08-12  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       Generate warnings for useless declarations like "char data;"
-       that don't do what new users expect.
-
-       * src/SDCC.y
-       * support/Util/SDCCerr.h
-       * support/Util/SDCCerr.c
-
-2003-08-09  Bernhard Held <bernhard AT bernhardheld.de>
-
-       * src/SDCCval.c (valMult): fix overflow detection of negative int
-
-2003-08-07  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/z80/ralloc.c (joinPushes): made compatible with new signedness
-
-       Changes to support big endian targets:
-
-       * src/ports.h
-       * src/SDCCglue.c
-       * src/avr/main.c
-       * src/ds390/main.c
-       * src/izt/i186.c
-       * src/mcs51/main.c
-       * src/pic/main.c
-       * src/pic16/main.c
-       * src/xa51/main.c
-       * src/z80/main.c
-
-2003-08-06  Bernhard Held <bernhard AT bernhardheld.de>
-
-       * src/SDCCval.c (cheapestVal): changed behaviour to the same as constVal()
-       * device/lib/time.c: fixed warning "integer overflow in expression"
-
-2003-08-05  Bernhard Held <bernhard AT bernhardheld.de>
-
-       * src/SDCCval.c (cheapestVal, valueFromLit): use TYPE_* types
-       * src/SDCCval.c (constVal): changed default to signed; hex and octal
-       constants are unsigned; added recognition of "u" flag for unsigned
-       * src/SDCCval.c (valMult): fixed signdness, added warning for overflow
-       * src/SDCCval.c (valDiv, valMod): fixed signdness
-       * src/SDCCicode.c (operandOperation): fixed critical typo; fixed
-       signedness of modulo, left and right shift
-       * support/Util/SDCCerr.c: added warning "integer overflow in expression"
-       * support/Util/SDCCerr.h: added warning W_INT_OVL
-       * src/SDCCast.c (decorateType): fixed gcc3.3 warning
-       * src/SDCCast.c (ast_print): improved output of constants
-
-2003-08-04  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
-
-       Fixed some warnings when building with MSVC:
-
-       * as\mcs51\asdata.c
-       * as\z80\asdata.c
-       * as\mcs51\asm.h
-       * as\z80\asm.h
-       * link\z80\aslink.h
-       * link\z80\lkdata.c
-       * link\z80\lkeval.c
-       * link\z80\lkgb.c
-       * link\z80\lkihx.c
-       * link\z80\lks19.c
-       * link\z80\lksym.c
-       * support\cpp2\cpplib.c
-       * src\ds390\gen.c
-       * src\mcs51\gen.c
-
-2003-08-03  Bernhard Held <bernhard AT bernhardheld.de>
-
-       * src/SDCCast.c (constExprTree): fix bug #781827 by Carl Worth <cworth AT isi.edu>
-
-2003-08-01  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
-
-       * support\librarian\clean.mk: Do not remove Makefile.
-       * support\librarian\Makefile: added.
-
-2003-08-01  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
-
-       Added librarian to MSVC build:
-       * all.dsp
-       * sdcc.dsw
-       * support\librarian\librarian.dsp
-
-       'configure' not needed for librarian, removed:
-       * support\librarian\configure
-       * support\librarian\configure.in
-       * support\librarian\config_in.h
-       * support\librarian\Makefile.in
-
-       Hopefully these ones built the librarian and the rest of sdcc properly:
-       * Makefile
-       * Makefile.common.in
-
-       Messed up 'configure', so revert to previous version:
-       * configure
-       * configure.in
-
-2003-07-31  Bernhard Held <bernhard AT bernhardheld.de>
-
-       * src/SDCCicode.c (operandOperation): 3. fix, this time for Alpha; ULONG has 64 bits
-       there, while the mantissa of a double is "only" 53 bits wide.
-
-2003-07-31  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
-
-       Adding sdcclib to the build.  MSVC project coming soon.
-       Files added/changed:
-
-       * support\librarian\clean.mk
-       * support\librarian\configure
-       * support\librarian\configure.in
-       * support\librarian\config_in.h
-       * support\librarian\Makefile.bcc
-       * support\librarian\Makefile.in
-       * support\librarian\sdcclib.c
-       * Makefile.bcc
-       * Makefile
-       * Makefile.common.in
-       * configure
-       * configure.in
-
-2003-07-29  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
-
-       Linker now complaints if linked modules have conflicting options, for
-       example, one compiled using --model-large and another one compiled with
-       --model-small.  The following files were modified:
-
-       * as\mcs51\asdata.c
-       * as\mcs51\aslink.h
-       * as\mcs51\asm.h
-       * as\mcs51\asmain.c
-       * as\mcs51\asout.c
-       * as\mcs51\i51pst.c
-       * as\mcs51\lkdata.c
-       * as\mcs51\lklibr.c
-       * as\mcs51\lkmain.c
-       * as\z80\asdata.c
-       * as\z80\asm.h
-       * as\z80\asmain.c
-       * as\z80\asout.c
-       * as\z80\z80pst.c
-       * link\z80\aslink.h
-       * link\z80\lkdata.c
-       * link\z80\lklibr.c
-       * link\z80\lkmain.c
-       * src\SDCCglue.c
-
-2003-07-28  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
-
-       *link/z80/aslink.h, link/z80/lklibr.c, as/mcs51/aslink.h,
-       as/mcs51/lklibr.c: Generate a warning when a library is not found.
-
-2003-07-28  Bernhard Held <bernhard AT bernhardheld.de>
-
-       * src/z80/mappings.i: fix _mul[us][int,long] entries
-
-2003-07-26  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
-
-       *src/SDCCmain.c: do not search for crt0.o when using --nostdlib
-
-2003-07-24  Bernhard Held <bernhard AT bernhardheld.de>
-
-       * src/SDCCicode.c (operandOperation): really fixed problem with bitops
-       * support/regression/tests/bitopcse.c: added
-       fixed warning:
-       * src/avr/gen.c:
-       * src/pic/gen.c:
-       * src/pic16/gen.c:
-       * src/z80/gen.c:
-       * src/xa51/gen.c:
-
-2003-07-24  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
-
-       added support for new library format to z80, gbz80 linkers:
-       *link/z80/aslink.h
-       *link/z80/lklex.c
-       *link/z80/lklib.c
-       *link/z80/lklist.c
-
-2003-07-24  Bernhard Held <bernhard AT bernhardheld.de>
-
-       * src/SDCCicode.c (operandOperation): fixed problem with bitops and 0xffffffff;
-       after {double d = 0xffffffff; long l = d;} l will be 0x80000000 (LONG_MIN)
-
-2003-07-23  Bernhard Held <bernhard AT bernhardheld.de>
-
-       added DUMMY_READ_VOLATILE:
-       * src/SDCC.y:
-       * src/avr/gen.c:
-       * src/xa51/gen.c:
-       * src/z80/gen.c:
-       * src/pic/gen.c:
-       * src/pic16/gen.c:
-       * src/mcs51/gen.c:
-       * src/ds390/gen.c:
-       * src/SDCCcse.c (algebraicOpts): many improvements
-       * src/SDCCcse.h: removed algebraicOpts()
-       * src/SDCCicode.c (picDummyRead): added
-
-2003-07-23  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
-
-       * as/mcs51/lkmem.c: Changed message "Insufficient DRAM memory" to
-       "Insufficient space in data memory".
-
-2003-07-20  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/mcs51/gen.c: fixed bug #771358
-       * src/z80/gen.c: fixed bug #759087
-
-2003-07-20  Bernhard Held <bernhard AT bernhardheld.de>
-
-       * src/pic16/glue.c: minor cleanup by Vangelis
-
-2003-07-19  Frieder Ferlemann <Frieder.Ferlemann AT web.de>
-
-        * device/include/regc515c.h: fixed #758477
-        * device/lib/_gptrget.c: saving some cycles in generic pointer get
-        * device/lib/_gptrput.c: saved a few bytes
-       * my tab spacing is 8, yours too?)
-        * device/lib/_ser.c: process RX bytes earlier than TX bytes
-        * device/lib/serial.c: process RX bytes earlier than TX bytes
-        * src/mcs51/gen.c(genGenPointerGet/Set): removed writing of type after postincrement
-
-2003-07-18  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
-
-       * src/z80/gen.c: fixed some right shift bugs (#772726 among them)
-
-2003-07-17  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
-
-    * link/z80/lklibr.c: fixed bug when there is a '.' in a library path.
-
-2003-07-17  Bernhard Held <bernhard AT bernhardheld.de>
-
-       * device/lib/Makefile.in: bad fix, reverted to 1.43
-
-2003-07-16  Bernhard Held <bernhard AT bernhardheld.de>
-
-       * device/lib/Makefile.in: added missing z80 object files
-
-2003-07-14  Bernhard Held <bernhard AT bernhardheld.de>
-
-       * src/SDCCcse.c (algebraicOpts): CSE fun with &|^ and 0x00/0xff literals
-       pic16 progress by Vangelis:
-       * src/SDCCglobl.h:
-       * src/SDCCmain.c:
-       * src/pic/Makefile:
-       * src/pic:
-       * pic/Makefile:
-       * pic16/device.c:
-       * pic16/device.h:
-       * pic16/gen.c:
-       * pic16/gen.h:
-       * pic16/genarith.c:
-       * pic16/glue.c:
-       * pic16/main.c:
-       * pic16/pcode.c:
-       * pic16/pcode.h:
-       * pic16/pcodepeep.c:
-       * pic16/peeph.def:
-
-2003-07-13  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
-
-    * src/SDCCmain.c, src/SDCCglobl.h: added option --no-std-crt0
-
-2003-07-12  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
-
-    * sdcc.dsw, all.dsp, link/z80/linkgbz80.dsp, as/z80/as-gbz80.dsp:
-    added gbz80 build to MSVC project.
-    * src/SDCCmain.c, src/SDCCglue.c, src/z80/main.c, src/z80/z80.dsp,
-    link/z80/aslink.h, linkz80.dsp: cleaned up z80 and gbz80 asm files
-    from 8051 stuff and setup so it links using a .lnk file.
-
-2003-07-06  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
-
-    * support/librarian/sdcclib.c: sdcc librarian.
-    * as/mcs51/aslink.h, as/mcs51/lklib.c: Support for libraries created
-    with sdcclib.
-
-2003-07-03  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
-
-    * as/mcs51/lkmain.c: properly handle extensions in function afile.
-
-2003-07-02  Borut Razem <borut.razem AT siol.net>
-
-       * src/port.h, src/SDCCmain.c, src/pic/glue.h, src/pic/main.c,
-       src/pic16/glue.h, sdcc/src/pic16/main.c, src/izt/i186.c,
-       src/izt/tlcs900h.c, src/avr/main.c, src/ds390/main.c, src/mcs51/main.c,
-       src/xa51/main.c, src/z80/main.c:
-       virtualization of glue() function: each port has it's own glue function,
-       which is accessed by do_glue function pointer in PORT.general structure
-
-2003-07-01 Kevin Vigor <kevin AT vigor.nu>
-
-        * DS800C400 fun, improved ROM interface and tinibios.
-
-2003-06-27 Kevin Vigor <kevin AT vigor.nu>
-
-       * More support for DS80C400. Now includes beginning of interface to ROM.
-
-2003-06-25  Bernhard Held <bernhard AT bernhardheld.de>
-
-       * src/mcs51/gen.c (gencjneshort): fixed bug #760345
-
-2003-06-20  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
-
-       * as/mcs51/lkaomf51.c: Make sure the size of the last procedure is correct.
-
-2003-06-19  Borut Razem <borut.razem AT siol.net>
-
-       * src/z80/main.c: fixed Z80 port again: missing -k library paths in linker command line
-
-2003-06-19  Borut Razem <borut.razem AT siol.net>
-
-       * src/SDCCutil.h, src/SDCCutil.c, src/SDCCglobl.h, src/SDCCmain.c, src/z80/main.c:
-       fixed Z80 port - crt0.o: cannot open.
-
-2003-06-19  Bernhard Held <bernhard AT bernhardheld.de>
-
-       * support/Util/MySystem.c (merge_command): revert bad fix
-
-2003-06-18  Borut Razem <borut.razem AT siol.net>
-
-       * src/SDCC.lex, src/SDCCmain.c: fixed some warnings, introduced with changes made 15.06.1003
-
-2003-06-18  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
-
-       * src/SDCCglobl.h, src/SDCCmain.c, doc/sdccman.lyx:
-       option --use-stdout sends errors to stdout instead of stderr.
-
-2003-06-18  Bernhard Held <bernhard AT bernhardheld.de>
-
-       * support/Util/MySystem.c (merge_command): quick fix for Linux segfault with \"cmd\" arg
-
-2003-06-15  Borut Razem <borut.razem AT siol.net>
-
-       * support/cpp2/sdcc.h: HAVE_DOS_BASED_FILE_SYSTEM defined for _WIN32
-       * src/SDCC.lex: cloneXxx and copyAndFreeXxx functions for options and optimize stack handling
-       * src/SDCCglobl.h, src/SDCCmain.c, src/ds390/main.c, src/mcs51/main.c, src/z80/main.c:
-       fixed width array of pointers replaced with sets;
-       multiple include and lib paths ared transferred to preprocessor and linker
-       * src/SDCCset.c, src/SDCCset.h: added function setFromSetNonRev() and mergeSets()
-       * src/SDCCsymt.c: reimplemented function inCalleeSaveList() by using sets instead
-       fixed width array of pointers
-       * src/SDCCutil.c, src/SDCCutil.h: added functions fputStrSet(), appendStrSet(), joinStrSet();
-       removed functions addToList(), join(), joinn(), pathCharsEquivalent(), pathCharTransform(),
-       fixupPath(), getPathDifference()
-       * src/ds390/gen.c, src/mcs51/gen.c: reimplemented function  inExcludeList() by using sets instead
-       fixed width array of pointers
-
-2003-06-11  Bernhard Held <bernhard AT bernhardheld.de>
-
-       * src/pic16/ralloc.c: fix warnings
-       * src/pic16/pcode.c: fix warning
-
-2003-06-10  Scott Dattalo  <scott AT dattalo.com>
-
-        Scott D. for Vangelis Rokas (vrokas AT otenet.gr). I (scott) don't
-       know all the details, but essentially this set of changes enable
-       the pic16 port to generate movff instructions and generate assembler
-       directives,
-       * src/SDCCmain.c:
-       * src/pic16/gen.c:
-       * src/pic16/glue.c:
-       * src/pic16/pcode.c:
-       * src/pic16/device.c:
-       * src/pic16/main.c:
-       * src/pic16/pcode.h:
-       * src/pic16/pcoderegs.c:
-       * src/pic16/ralloc.c:
-       * src/pic16/ralloc.h:
-
-2003-06-08  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
-
-       * support/Util/SDCCerr.c, src/SDCCglobl.h, src/SDCCmain.c, doc/sdccman.lyx:
-       added option --vc, so sdcc errors and warnings are compatible with
-       Microsoft Visual Studio.
-
-2003-06-07  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
-
-       * device/lib/_atof.c, device/lib/Makefile.in, device/include/stdlib.h,
-         device/lib/libfloat.lib: added atof function.
-
-2003-06-04  Bernhard Held <bernhard AT bernhardheld.de>
-
-       * doc/sdccman.lyx: updated to Lyx 1.3
-       * doc/cdbfileformat.lyx: updated to Lyx 1.3
-       * doc/test_suite_spec.lyx: updated to Lyx 1.3
-       * doc/Makefile: added fix for the \tabularnewline problem, thanks to Jesus
-
-2003-06-03  Bernhard Held <bernhard AT bernhardheld.de>
-
-       * src/SDCCpeeph.c: separate peepRules2pCode() for pic16 by "Vangelis Rokas" <vrokas AT otenet.gr>
-
-2003-06-02  Frieder Ferlemann <Frieder.Ferlemann AT web.de>
-
-       * doc/sdccman.lyx: cvs revision keywords, passing pdf information in latex preamble,
-          additions to the "related tools/documentation" section
-
-2003-06-02  Bernhard Held <bernhard AT bernhardheld.de>
-
-       * src/SDCCglue.c (tempfileandname): added check for missing TMP/TEMP/TMPDIR variable
-
-2003-05-29  Bernhard Held <bernhard AT bernhardheld.de>
-
-       * src/pic/device.c: added 16F819, patch by "David I. Lehn" <dlehn AT vt.edu>
-       * src/SDCCcse.c (algebraicOpts): fixed "c * 1"
-
-2003-05-28  Bernhard Held <bernhard AT bernhardheld.de>
-
-       * doc/sdccman.lyx: fix double dash and other minor things
-       * doc/Makefile: fix double dash
-
-2003-05-28  Karl Bongers(patches from Martin Helmling)
-       * debugger/mcs51/sdcdb.c,cmd.c,break.c and .h files. Martin adds
-         condition and ignore commands.
-
-2003-05-28  Frieder Ferlemann <Frieder.Ferlemann AT web.de>
-
-       * doc/sdccman.lyx: Changes all over, index improved, smaller margins. The manual
-         is in parts still quite out of date, I did changes as far as I felt makes sense
-         for a non-native english speaker.
-         Please feel free to add to the manual or to correct my changes.
-       * doc/Makefile: undid touching the date of intermediate tex files.
-
-2003-05-26  Frieder Ferlemann <Frieder.Ferlemann AT web.de>
-
-       * doc/sdccman.lyx: Manual has an index now
-
-2003-05-25  Bernhard Held <bernhard AT bernhardheld.de>
-
-       Finalize muluint/mulsint and mululong/mulslong merging:
-       * device/lib/_mulint.c
-       * device/lib/_mullong.c
-       * device/lib/gbz80/mul.s
-       * device/lib/gbz80/stubs.s
-       * device/lib/z80/mul.s
-       * device/lib/z80/stubs.s
-       * src/SDCCsymt.c (initCSupport)
-
-2003-05-25  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
-
-       * as/mcs51/lkaomf51.c: Address space 'z' was missing.
-       * src/avr/avr.dsp, src/ds390/ds390.dsp, src/mcs51/mcs51.dsp,
-         src/pic/pic.dsp, src/pic16/pic16.dsp, src/xa51/xa51.dsp,
-         src/x80/z80.dsp: peep.rul is bigger now, so /Zm1000 is used
-         instead of /Zm500.
-
-2003-05-25  Frieder Ferlemann <Frieder.Ferlemann AT web.de>
-
-       * src/mcs51/peeph.def: added rules 244.x, 245.x. Although they pass
-          the regression tests I'm not brave enough to enable 245.b, 245.c
-       * doc/sdccman.lyx: added latex preamble for hyperref package.
-         Using pdflatex this will give you a hyperlinked pdf file with
-          bookmarks. (prepend '%' before /usepackage if this breaks something)
-
-2003-05-24  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
-
-        * doc/sdccman.lyx: updated information about .adb files (fixed bug 742649)
-
-2003-05-22  Bernhard Held <bernhard AT bernhardheld.de>
-
-       * src/pic16/pcode.c (pic16_get_op_from_instruction): fixed a gcc 3.x warning
-
-2003-05-21    <johan AT balder>
-
-       * src/SDCCglue.c (printIval): fixed bug #739934
-
-2003-05-19  Bernhard Held <bernhard AT bernhardheld.de>
-
-       Applied patch from bug 737905 (renamed yylineo to mylineno):
-       * src/altlex.c
-       * src/SDCCast.c
-       * src/SDCglobl.h
-       * src/SDCC.lex
-       * src/SDCCsymt.c
-       * src/SDCCval.c
-       * src/pic16/pcode.c: Cleaned warnings
-       * src/pic16/pcodeflow.c: Cleaned warnings
-       * src/pic16/pcoderegs.c: Cleaned warnings
-
-2003-05-19  Scott Dattalo  <scott AT dattalo.com>
-
-       * src/pic16/pcode.c: Cleaned warnings
-       * src/pic16/pcodepeep.c: Cleaned warnings
-       * src/pic16/ralloc.c: Cleaned warnings
-
-2003-05-19  Bernhard Held <bernhard AT bernhardheld.de>
-
-       * doc/sdccman.lyx: fixed bug 739745
-       * src/pic16/pcode.c (pic16_get_op): fixed warning on alpha
-
-2003-05-18  Bernhard Held <bernhard AT bernhardheld.de>
-
-       * src/port.h: removed DEFAULT_PORT, it's not yet pic16 ;-)
-       it can be defined with CFLAGS when running configure
-       * src/SDCCmain.c: fixed compiling + linking with object files
-
-2003-05-18  Vangelis Rokas (vrokas AT otenet.gr)
-
-       * configure.in: configure for pic16 port,
-           added --disable-pic16-port
-       * sdccconf_in.h: added macro OPT_DISABLE_PIC16
-       * src/SDCCmain.c: linkOptions is changed to set *,
-           added if/endif conditional macros to remove options help
-           messages from optionsTable when a port is not configured, added
-           support for the PIc16 port in the ports table, when executing
-           the compiler with no port specified on command line, a default
-           port is selected with the new macro DEFAULT_PORT which is
-           defined in port.h, in setDefaultOptions() linkOptions is removed
-           from initialization assignment, since now it is a set,
-           parseCmdLine uses setParseWithComma for linkOptions, in
-           linkEdit() linkOptions are accessed with new function indexSet()
-           which returns the i'th item of a set variable. See SDCCset.c, in
-           linkEdit() when calling buildCmdLine(), added linkOptions as
-           last argument. Now users can pass arguments to gplink via the
-           -Wl option, main() uses pic16glue() to glue up pic16 programs
-       * src/SDCCpeeph.c: various changes to support pic16
-       * src/SDCCset.c: added function  void *indexSet(set *, int)  to
-           return the i'th item of the set
-       * src/SDCCset.h: added function prototype for indexSet()
-       * src/SDCCsymt.c: in checkSClass(), added support for PIC16
-       * src/clean.mk: added pic16 in CLEANALLPORTS variable
-       * src/port.h: added TARGET_ID_PIC16,TARGET_IS_PIC16 macro,
-           added macro DEFAULT_PORT
-       * src/pic/main.c: corrected arguments of gplnk in _linkCmd
-       * src/pic16/gen.c: bug fix in genCpl(), now the correct code is
-           generated
-       * src/pic16/glue.c: commented out some error producing lines
-       * src/pic16/main.c: __config directives are commented out to stop
-            gpasm complaining and test the linkage with gplink, _linkCmd and
-            _asmCmd changed to be more gplink and gpasm friendly
-       * src/pic16/peeph.def: peep rule 3 is commented out, since it
-           produced an error when parsed, peep rule 12 is added to utilize
-           movff, but it is commented out since the pCode does not support
-           yet a command with 2 address arguments
-
-2003-05-18    <johan AT balder>
-
-       * src/ds390/gen.c (genArrayInit): removed obsolete and buggy ARRAYINIT
-       * src/ds390/main.c (genArrayInit): removed obsolete and buggy ARRAYINIT
-2003-05-17  Karl Bongers(apply patches from Martin Helmling)
-
-       * debugger/mcs51/sdcdb.c,cmd.c,break.c and .h files.
-  Added feature to script commands from file.
-
-2003-05-14  Bernhard Held <bernhard AT bernhardheld.de>
-
-        * device/lib/_strtok.c: fixed bug #734355 by Lenny Story and Tim Woodall
-       * src/SDCCutil.c: include ctype.h for win32
-
-2003-05-13  Bernhard Held <bernhard AT bernhardheld.de>
-
-       * src/pic16/*: removed CR from many files, reported by Vangelis Rokas
-
-2003-05-12  Karl Bongers(apply development patches from Martin Helmling)
-
-       * debugger/mcs51/sdcdb.c,simi.c,cmd.c,break.c and .h files.
-  Fixed so you can set breakpoints prior to run, run does not stop
-  on entry now.  Add tbreak.  Other enhancements and fixes for use
-  with ddd.
-
-2003-05-12  Borut Razem <borut.razem AT siol.net>
-
-       * src/SDCCmain.c: fixed the problem with searching the DATADIR as the last resort on *nix
-
-2003-05-11  Borut Razem <borut.razem AT siol.net>
-
-       * src/SDCCutil.c: WIN32 version of getBinPath() calls GetModuleFileName() to determine
-       the path of bin directory, so that PATH is the only env. variable, which has to be set
-       in case of standard installation.
-       * src/ds390/ds390.dsp: increased value of /Zm option to 1000
-       * src/pic/main.c: add quotes to file name parameters for gplink and gpasm
-       * src/SDCCglobl.h, src/SDCCmain.c, doc/sdccman.lyx: added --print-search-dirs command line option
-
-2003-05-04  Bernhard Held <bernhard AT bernhardheld.de>
-
-       * src/SDCCmain.c (linkEdit): fixed buffer overflow for gbz80
-       * support/regression/Makefile: inter-port-clean is no longer nesessary, the
-       temp files are in the port dir; clean the gen/test directory when
-       generating new test.c
-       * support/regression/ports/host/spec.mk: defined OBJEXT for target clean
-       * support/regression/tests/vaargs.c: fixed gcc 3.3 warning
-       * support/regression/tests/zeropad.c: added
-
-2003-05-09    <johan AT balder>
-
-       * src/SDCCglue.c: fixed bug #597940
-
-2003-05-05  Karl Bongers(apply patches from Martin Helmling)
-
-       * debugger/mcs51/sdcdb.c,simi.c,cmd.c,symtab.c and .h files.
-  cache sfr, optimize next,step, fix off by one sourceline,
-  support ddd list function.
-       * sim/ucsim/cmd.src/newcmd.cc - small fix for sdcdb use.
-
-2003-05-04  Bernhard Held <bernhard AT bernhardheld.de>
-
-       * support/regression/HTMLgen.py: added compare_s2f()
-       * support/regression/Makefile: redo 1.27
-       * support/regression/generate-cases.py: redo 1.5
-
-2003-04-30  Bernhard Held <bernhard AT bernhardheld.de>
-
-       * support/regression/tests/float.c: workaround 33 bit hex constant
-       * support/regression/tests/simplefloat.c: fix division for host
-
-2003-04-29  Scott Dattalo  <scott AT dattalo.com>
-
-       * src/pic/pcoderegs.c Applied patch from Jim Hawkridge <jim AT jimhawkridge.uk.eu.org>
-       that tame's the PIC's over-aggressive optimizer.
-
-2003-04-29  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
-
-        * src.dsw, link/z80/aslink.h, link/z80/linkz80.dsp: z80 linker
-        support for MSVC.
-
-2003-04-29  Kevin Vigor <kevin AT vigor.nu>
-
-       Initial support for DS80C400. "Hello world" runs on TINIm400
-       (with polled I/O).
-
-2003-04-28  Karl Bongers(apply patches for Martin Helmling)
-
-        * debugger/mcs51/sdcdb.c,simi.c,cmd.c,symtab.c and .h files.
-        * Some notes on ddd usage added in debugger/README
-        Martin Helmling adding more features and fixes for ddd GUI debugger.
-        Code added for nexti, stepi, up, down, and other adjustments.
-
-2003-04-28  Scott Dattalo  <scott AT DATTALO.COM>
-
-       * src/pic/pCodepeep.c non-wildcard asmops are now handled
-       * src/pic/peeph.def Added two rules to optimize carry manipulation
-       * src/pic/* removed debug printfs
-
-2003-04-28  Bernhard Held <bernhard AT bernhardheld.de>
-
-       * debugger/mcs51/cmd.c: added header newalloc.h
-
-2003-04-26  Bernhard Held <bernhard AT bernhardheld.de>
-
-       * as/Makefile: new EXEEXT
-       * as/z80/Makefile: remove trailing slash of BUILDIR
-       * as/z80/clean.mk: new EXEEXT
-       * Makefile.common.in: add to CFLAGS (and others), don't replace it
-       * support/cpp2/Makefile.in: new EXEEXT
-       * src/pic/glue.c (pic14emitRegularMap): fixed warning
-
-2003-04-24  Bernhard Held <bernhard AT bernhardheld.de>
-
-       Cygwin's gcc always appends .exe: 'gcc -o a a.c' creates a.exe;
-       EXEEXT was introduced to fix all related problems with targets
-       "clean", "install" and "uninstall"; a couple of further flaws
-       especially with "clean" have been fixed too
-       * as/mcs51/Makefile.in
-       * as/mcs51/clean.mk
-       * as/z80/Makefile
-       * Makefile
-       * clean.mk
-       * debugger/mcs51/Makefile.in
-       * debugger/mcs51/clean.mk
-       * link/z80/Makefile
-       * link/z80/Makefile.in
-       * link/z80/clean.mk
-       * link/Makefile
-       * packihx/Makefile.in
-       * packihx/clean.mk
-       * sim/ucsim/Makefile
-       * sim/ucsim/clean.mk
-       * sim/ucsim/avr.src/Makefile.in
-       * sim/ucsim/avr.src/clean.mk
-       * sim/ucsim/s51.src/Makefile.in
-       * sim/ucsim/s51.src/clean.mk
-       * sim/ucsim/xa.src/Makefile.in
-       * sim/ucsim/xa.src/clean.mk
-       * sim/ucsim/z80.src/Makefile.in
-       * sim/ucsim/z80.src/clean.mk
-       * sim/ucsim/main_in.mk
-       * sim/ucsim/packages_in.mk
-       * sim/ucsim/gui.src/Makefile.in
-       * sim/ucsim/gui.src/serio.src/Makefile.in
-       * sim/ucsim/gui.src/serio.src/clean.mk
-       * src/Makefile.in
-       * src/clean.mk
-       * support/cpp2/Makefile.in
-       * support/cpp2/clean.mk
-       * support/makebin/Makefile
-       * support/makebin/clean.mk
-       * support/scripts/sdcc_mingw32: --program-suffix no longer needed
-       * doc/sdccman.lyx: --program-suffix no longer needed
-
-2003-04-23  Karl Bongers(apply patches for Martin Helmling)
-
-        * debugger/mcs51/sdcdb.c,simi.c,cmd.c,..
-        Martin Helmling added support for ddd GUI debugger.
-        Code added to display assembly, set variables, and other commands
-        to interface to ddd.
-
-2003-04-23  Bernhard Held <bernhard AT bernhardheld.de>
-
-       * as/Makefile: fix target clean
-       * as/clean.mk: fix target clean
-       * as/z80/clean.mk: fix target clean
-
-2003-04-22  Bernhard Held <bernhard AT bernhardheld.de>
-
-       * Makefile.common.in: added  AT EXEEXT AT
-       * configure.in: removed all mingw32 stuff
-       * configure: rebuilt from configure.in
-       * doc/sdccman.lyx: updated section "installation"
-       * support/scripts/sdcc_mingw32: adapted to configure
-       * support/scripts/sdcc_cygwin_mingw32: added
-
-2003-04-22  Scott Dattalo  <scott AT dattalo.com>
-
-       * src/pic Added object file support for the PIC port
-       * src/pic Applied patch from Craig Franklin (this started the object file support)
-       * src/regression Updated the PIC regression tests for object files
-
-2003-04-20  Borut Razem <borut.razem AT siol.net>
-
-       * sdcc/as/mcs51/lklex.c: make getfid() more robust and fixed gcc warning:
-         lklex.c: In function `getfid':
-         lklex.c:203: warning: array subscript has type `char'
-       * src/SDCCglobl.h: small change in stack handling macros, to avoid crash when compiled
-         with MSVC with global optimization enabled (probably an cl compiler bug ;-)
-       * support/Util/SDCCerr.c, support/Util/SDCCerr.h: added function fatal(), called from
-         stack handling macros
-
-2003-04-19  Borut Razem <borut.razem AT siol.net>
-
-       * "handling space characters in file path" task:
-       * src/SDCCmacro.c: fixed bug in handlig quote at the end of line
-       * support/Util/BuildCmd.c: define par as NULL if parameter value is invalid
-       * support/Util/MySystem.h: make it self-sufficient
-       * src/avr/main.c, src/ds390/main.c, src/mcs51/main.c, src/pic/main.c, src/xa51/main.c,
-         src/z80/main.c, sdcc/as/mcs51/lklex.c:
-         handling space characters in file path
-       * src/SDCCmain.c: introduced setDataPaths() function, {datadir} macro
-         (it will be used by assemblers, which have their own includes, e.g. gpasm)
-       * support/Util/MySystem.c: handling space characters in executable's path
-
-2003-04-19  Bernhard Held <bernhard AT bernhardheld.de>
-
-       * as/z80/Makefile: fix permanent rebuild of z80
-       * sim/ucsim/gui.src/Makefile.in: target "install" builds the same packages as target "all"
-       * support/regression/tests/bitfields.c: added Johan's bitfields.c
-
-2003-04-18     Kevin Vigor <kevin AT vigor.nu>
-
-       * src/SDCCopt.c: add special case optimization to replace modulo by
-         a power of two with a bitwise AND.
-
-2003-04-18    <johan AT balder>
-
-       * src/mcs51/gen.c (getFreePtr): fixed bug #635354
-
-2003-04-17    <johan AT balder>
-
-       * src/mcs51/ralloc.c (packRegsForAssign): fixed bug #716790 and removes lot's of redundant register usage around function calls
-       * src/mcs51/ralloc.c (packRegisters): fixed bug #720667
-
-2003-04-13  Borut Razem <borut.razem AT siol.net>
-
-       * doc/sdccman.lyx: updated info about #pragma SAVE/RESTORE nesting
-       * configure.in, configure: fixed problems on cygwin/WinCVS environmet with ports.* line endings;
-         fixed mingw problem in adl_NORMALIZE_PATH
-
-2003-04-12  Borut Razem <borut.razem AT siol.net>
-
-       * fixed "#pragma SAVE/RESTORE can not be nested":
-       * src/SDCC.lex: reworked pragma handling functions
-       * sdcc/src/SDCCglobl.h: reworked stack handling macros
-       * support/Util/SDCCerr.c, support/Util/SDCCerr.h: added E_STACK_VIOLATION error
-
-2003-04-12  Bernhard Held <bernhard AT bernhardheld.de>
-
-       * src/SDCCutil.c (pathEquivalent): defined but not used
-       * debugger/mcs51/sdcdb.c: replace SDCC_LIB_DIR
-       * configure.in: remove sdcc_datadir, sdcc_lib_dir and sdcc_include_dir
-       * configure: rebuilt from configure.in
-       * sdccconf_in.h: remove SDCC_LIB_DIR and SDCC_INCLUDE_DIR
-       * sdcc_vc_in.h: remove SDCC_LIB_DIR and SDCC_INCLUDE_DIR
-       * device/include/Makefile.in: replace sdcc_datadir
-       * device/lib/Makefile.in: replace sdcc_datadir
-       * Makefile.common.in: add LDFLAGS from configure
-       * packihx/Makefile.in: use LDFLAGS
-       * src/Makefile.in: use LDFLAGS
-       * support/cpp2/Makefile.in: add LDFLAGS from configure
-       * support/makebin/Makefile: use LDFLAGS
-       * .version: bumped version number to 2.3.5
-
-2003-04-12  Borut Razem <borut.razem AT siol.net>
-
-       * completed "different paths" task:
-       * src/SDCCmacro.c: fixed bug in handling quotes
-       * src/SDCCutil.c, src/SDCCutil.c: rewritten getPrefixFromBinPath()
-       * src/SDCCmain.c: _discoverPaths() replaced with setBinPaths(), setIncludePath() and setLibPath()
-
-2003-04-12  Bernhard Held <bernhard AT bernhardheld.de>
-
-       * src/pic/pcoderegs.c (Remove1pcode): fix warning on alpha
-
-2003-04-11 kevin Vigor <kevin AT vigor.nu>
-
-       * ds390/gen.c ds390/peeph.def: fix bug 706781
-
-2003-04-11  Borut Razem <borut.razem AT siol.net>
-
-       * support/Util/dbuf.c, support/Util/dbuf.h: update to version 1.1.1 - re-added C++ stuff to make it still more portable
-
-2003-04-10  Scott Dattalo  <scott AT dattalo.com>
-
-       * src/pic/* Applied the pointer-to-function patch from Steve Tell.
-       * src/pic/* Fixed several pointer bugs. (PIC port broke when the ruonly bit was
-        set - this bit used to not be set...).
-        * src/pic/gen.c Fixed buf 609268 ==> x = (x+1) & 0xf; generated
-          bad code in PIC Port
-        * src/regression/and2.c added to test bug 609268
-        * src/regression/Makefile added and2.c to regression test
-
-
-2003-04-08    <johan AT CP255758-A>
-
-       * src/mcs51/gen.c (gen51Code): display reg usage in --icode-in-asm
-       * src/mcs51/ralloc.c (serialRegAssign): update the registers in use and save some slocs
-       * src/SDCCicode.h: added riu to show the register usage in --icode-in-asm
-
-2003-04-07  Bernhard Held <bernhard AT bernhardheld.de>
-
-       * configure.in: fully support prefix, exec_prefix, datadir, docdir;
-       fix bug #487815
-       * support/cpp2/Makefile.in: fix bug #487815
-       * configure: rebuilt from configure.in
-       * Makefile.common.in: docdir changed, new path suffixes
-       * sdccconf_in.h: new RETSIGTYPE, and other PATHs
-       * sdcc_vc_in.h: reflect changes from sdccconf.h
-       * src/SDCCglobl.h: remove *SEPARATOR_CHARS, they are now in sdccconf.h
-       * src/SDCCutil.h: remove BINDIR hack
-       * doc/sdccman.lyx: update new path hierarchy
-
-2003-04-06    Paul Stoffregen <paul AT pjrc.com>
-
-       * src/SDCCpeeph.c: added okToRemoveSLOC test
-
-2003-04-06    Paul Stoffregen <paul AT pjrc.com>
-
-       * device/lib/printf_fast.c: added leading zero format ("%06d", etc)
-
-2003-04-06    Paul Stoffregen <paul AT pjrc.com>
-
-       * src/SDCCpeeph.c: added labelIsReturnOnly test
-       * src/mcs51/peeph.def: Peephole 244: replace ljmp to ret with ret
-
-2003-04-05    <johan AT balder>
-
-       * src/SDCCcse.c (cseAllBlocks): fixed bug #460088
-       * src/SDCCloop.c (DEFSETFUNC): fixed bug #460088
-       * src/SDCCopt.c (eBBlockFromiCode): fixed bug #460088
-       * src/SDCCast.c: fixed a warning
-       * src/SDCCast.h: fixed a warning
-       * src/SDCCicode.c (operandFromAst): fixed a warning
-
-2003-04-04    <johan AT balder>
-
-       * src/SDCCloop.c (DEFSETFUNC): undid the fix for bug #519584
-       * src/SDCCast.c (decorateType): fixed bug #715076
-       * src/SDCC.y: fixed bug #702907
-
-2003-04-03    <johan AT balder>
-
-       * device/lib/_mulint.c (_muluint): new #pragma LESS_PEDANTIC
-       * src/SDCCopt.c (eBBlockFromiCode): new #pragma LESS_PEDANTIC
-       * src/SDCCglobl.h (PRAGMA_LESSPEDANTIC): new #pragma LESS_PEDANTIC
-       * src/SDCC.lex (doPragma): new #pragma LESS_PEDANTIC
-       * src/SDCCmain.c (parseCmdLine): new #pragma LESS_PEDANTIC
-
-2003-04-03  Bernhard Held <bernhard AT bernhardheld.de>
-
-       * _decdptr.c: fix return values
-       * _gptrget.c: fix return values
-       * _gptrgetc.c: fix return values
-       * _gptrput.c: fix return values
-       * _mulint.c: fix return values
-       * as/z80/Makefile: fix 'make -j' problem
-
-2003-04-02  Bernhard Held <bernhard AT bernhardheld.de>
-
-       * Makefile.common.in: unused PORT, SCC and SAS removed, fixed docdir
-       * configure.in: big cleanup, updated to autoconf 2.5x
-       * configure: rebuilt from configure.in
-       * sdccconf_in.h: new RETSIGTYPE, and other PATHs
-       * sdcc_vc_in.h: reflect changes from sdccconf.h
-       * doc/Makefile: fixed a flaw in "make install"
-
-2003-04-02    <johan AT balder>
-
-       * src/ds390/gen.c (genCmp): no comments
-       * src/mcs51/gen.c (genCmp): no comments
-       * src/SDCCopt.c (eBBlockFromiCode): detect missing return values
-       * src/SDCCast.c (ast_print): fixed the function type in --dumptree
-
-2003-04-01  Bernhard Held <bernhard AT bernhardheld.de>
-
-       * support/regression/generate-cases.py: place generated file in given sub directory
-       * support/regression/ports/host/spec.mk: prevent removal of testfwk.o
-       * support/regression/Makefile: improvements for 'make -j';
-       side effect: it's simpler and faster now
-
-2003-03-31  Borut Razem <borut.razem AT siol.net>
-
-       * src/z80/main.c: link-{port} and as-{port} defined without path
-       * src/src.dsp: support/Util/MySystem.h and src/SDCCutil.h added to project
-
-2003-03-31  Bernhard Held <bernhard AT bernhardheld.de>
-
-       * Makefile, src/Makefile.in: add dependencies, so that 'make -j' works
-
-2003-03-30  Borut Razem <borut.razem AT siol.net>
-
-       * support/Util/BuildCmd.c, support/Util/BuildCmd.h: rewrite buildCmdLine(),
-         changed type of list parameter to set
-       * src/ds390/main.c: changed type of parameter asmOptions to set in _tininative_do_assemble()
-       * src/port.h: changed type of do_assemble() parameter to set
-       * src/SDCCmain.c: type of asmOptions changed to set, introduced setParseWithComma(),
-         sdcpp defined without path, removed variable VersionString, introduced set binPathSet,
-         definition of "cppoutfilename" macro with NULL value in preProcess()
-       * src/SDCCglobl.h: included "SDCCset.h", added declaration of setParseWithComma()
-       * src/SDCCglue.c: removed variable VersionString, inroduced spacesToUnderscores()
-       * support/Util/MySystem.c, support/Util/MySystem.h: rewrite, char *ExePathList[]
-         replaced with set *binPathSet
-       * shash_add() deallocates the item, if allready exsists, before adding the new one
-       * src/SDCCmacro.c: handling macros with empty or NULL values in _evalMacros()
-
-2003-03-30  Scott Dattalo  <scott AT dattalo.com>
-
-       * src/pic/gen.c: Commit patch from Steve Tell <tell AT telltronics.org> that fixes
-         a nested for loop bug in the PIC port
-       * src/regression/nestfor.c: new regression test file Steve wrote to test nested
-         for loops
-
-2003-03-29  Bernhard Held <bernhard AT bernhardheld.de>
-
-       * support/Util/dbuf.h: remove C++ stuff to make it portable
-
-2003-03-28  Borut Razem <borut.razem AT siol.net>
-
-       * src/SDCC.lex: Fix for bug #711240: dynamic buffer handling of C
-          literal strings in stringLiteral()
-       * support/Util/dbuf.c, support/Util/dbuf.h: added: dynamic buffer handling
-       * src/Makefile.bcc, src/Makefile.in, src\src.dsp: added support/Util/dbuf.c
-          to the project
-
-2003-03-27  Paul Stoffregen <paul AT pjrc.com>
-
-       * src/SDCCpeeph.c (pcDistance): accurate byte distance for mcs51
-
-2003-03-26    <johan AT balder>
-
-       * src/mcs51/gen.c (saveRegisters): catched symbol abuse
-       * src/ds390/gen.c (saveRegisters): catched symbol abuse
-       * src/SDCCast.c (decorateType): fixed " -v < 3"
-
-2003-03-23  Bernhard Held <bernhard AT bernhardheld.de>
-
-       * doc/cdbfile.html: removed, replaced by cdbfileformat.lyx
-       Added Lenny Story's debug infrastructure changes:
-       * src/Makefile.in:  added new files cdbFile.c and SDCCdebug.c
-       * src/Makefile.bcc: added new files cdbFile.c and SDCCdebug.c
-       * src/cdbFile.c: added
-       * src/SDCCdebug.c: added
-       * src/SDCCdebug.h: added
-       * src/SDCCast.c (createFunction)
-       * src/SDCCglue.c (emitRegularMap, emitStaticSeg, emitOverlay, glue)
-       * src/SDCCmain.c (parseCmdLine, main)
-       * src/SDCCmem.c (redoStackOffsets)
-       * src/SDCCsymt.c (cdbStructBlock, cdbTypeInfo, cdbSymbol, cdbStruct, cdbStructBlock)
-       * src/SDCCsymt.h
-       * src/common.h
-       * src/avr/gen.c (genAVRCode)
-       * src/ds390/gen.c (gen390Code)
-       * src/mcs51/gen.c (gen51Code)
-       * src/pic/gen.c (genpic14Code)
-       * src/pic/glue.c (pic14emitRegularMap, pic14emitStaticSeg, pic14emitOverlay, picglue)
-       * src/xa51/gen.c (genXA51Code)
-       * src/SDCCast.c: fixed "void foo(void){char c; -c < 0;}"
-
-2003-03-22  Frieder Ferlemann <Frieder.Ferlemann AT web.de>
-
-       * src/mcs51/gen.c (genCodePointerGet): quicker code for bug #700797
-       * src/mcs51/peeph.def: added rules 177, 241.x to 243, touched 181, 182.x, 193.x
-
-2003-03-22    <johan AT balder>
-
-       * src/SDCCicode.c (geniCodeDerefPtr): fixed bug #698231
-
-2003-03-21  Bernhard Held <bernhard AT bernhardheld.de>
-
-       * support/scripts/sdcc_mingw32: adapted to configure from autoconf 2.54
-       * doc/cdbfileformat.lyx: added, written by Lenny Story
-       * doc/Makefile: added cdbfileformat.lyx
-       * doc/clean.mk: added cdbfileformat.lyx
-
-2003-03-20  Bernhard Held <bernhard AT bernhardheld.de>
-
-       * src/mcs51/peeph.def: fix bug #705773
-
-2003-03-20    <johan AT balder>
-
-       An sfr/sbit can have an "at #" AND an initializer
-       * src/SDCCsymt.c (checkSClass):
-       * src/SDCCmem.c (allocGlobal):
-       * src/SDCCmem.c (allocLocal):
-       * src/SDCCast.c (createBlock):
-
-2003-03-17  Bernhard Held <bernhard AT bernhardheld.de>
-
-       * src/ds390/peeph.def: fix bug #704878: added rule 213.b suggested by Jan Rejlek
-
-2003-03-16    <johan AT balder>
-
-       Undid the hackup of const and volatile, the problem is much bigger
-       * src/SDCC.y:1.65
-       * src/SDCCast.c:1.171
-       * src/SDCCglue.c:1.138
-       * src/SDCCicode.c:1.146
-       * src/SDCCsymt.c:1.150
-       * src/SDCCval.c:1.65
-
-2003-03-15  Bernhard Held <bernhard AT bernhardheld.de>
-
-       * src/mcs51/ralloc.c (packRegsForAssign): fixed bug #703541
-       * src/ds390/gen.c (genAddrOf): fixed bug #704087
-
-2003-03-13    <johan AT balder>
-
-       Hackup const and volatile modifiers in type chains a bit:
-       * src/SDCC.y:1.63
-       * src/SDCCast.c:1.169
-       * src/SDCCglue.c:1.136
-       * src/SDCCicode.c:1.143
-       * src/SDCCsymt.c1.146
-       * src/SDCCsymt.h1.59
-       * src/SDCCval.c:1.63
-
-2003-03-12    <johan AT balder>
-
-       * src/SDCCBBlock.h: more LRH debugging junk
-       * src/SDCCcflow.h: more LRH debugging junk
-       * src/SDCCloop.c: more LRH debugging junk
-       * src/SDCC.y (struct_declaration): fixed bug #697590
-       * src/SDCCsymt.[hc] (cloneSpec): NEVER EVER use this again
-       * src/ds390/gen.c (aopForRemat): fixed bug #700031
-       * src/SDCCglue.c (emitStaticSeg): fixed bug #700797
-
-2003-03-11 Kevin Vigor <kevin AT vigor.nu>
-       * src/SDCCpeeph.c: quit being lazy and made proper fix (peephole
-       test function names must now match exactly).
-       * src/SDCCcse.c: added special case in findCheaperOp to allow
-       extending a short integer. Makes less awful code for bug 700121 test case.
-
-2003-03-11  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
-
-       * as/mcs51/lkmain.c: Added ASlink-Warning to messages
-       * as/mcs51/lkaomf51.c: Fixed bug when linking asmblink example
-
-2003-03-11 Kevin Vigor <kevin AT vigor.nu>
-
-       * src/SDCCpeeph.c: fix so that operandsNotEqualX functions are
-       actually called (operandsNotEqual() was called for all
-       operandsNotEqualX tests).
-
-2003-03-11 Kevin Vigor <kevin AT vigor.nu>
-
-       * src/SDCCcse.c: fix findCheaperOp to prevent replacing int types
-       with shorter literals. Fixes bug 700121.
-
-2003-03-11    <johan AT balder>
-
-       * src/SDCCsymt.c (compareType): a (void *) can be assigned to any pointer
-
-2003-03-11  Bernhard Held <bernhard AT bernhardheld.de>
-
-        * src/SDCCloop.c (mergeRegions): an evil beast is dead
-       * src/SDCCmain.c (preProcess): minor cleanup: eliminate preOutName
-
-2003-03-10  Borut Razem <borut.razem AT siol.net>
-
-       * src/SDCCmain.c: pipe preprocessor's output
-       * support/Util/MySystem.c, support/Util/MySystem.h: added my_popen()
-       * sdcc_vc_in.h: define pclose as _pclose for WIN32
-       * src/SDCCglue.c, src/SDCCglue.h: added set pipeSet, added function closePipes,
-       which closes all pipes in pipeSet set
-       * src/SDCCset.c: free deleted item in function deleteSetItem()
-       * src/src.dsp, src/z80/z80.dsp: files support/Util/BuildCmd.c and support/Util/MySystem.c
-       moved from z80 to src subproject
-       * .version: increased version number to 2.3.4
-
-2003-03-10  Bernhard Held <bernhard AT bernhardheld.de>
-
-       * support/regression/ports/mcs51/spec.mk: increase timeout for CF's sparc to 30s
-       * support/regression/ports/ds390/spec.mk: increase timeout for CF's sparc to 25s
-       * support/regression/ports/xa51/spec.mk: fix typo
-
-2003-03-09  Bernhard Held <bernhard AT bernhardheld.de>
-
-       * src/SDCCglobl.h: PATH_MAX is already defined in mingw32 headers
-
-2003-03-09  Borut Razem <borut.razem AT siol.net>
-
-       * src/SDCCmain.c: pipe preprocessor's output
-       * support/Util/MySystem.c, support/Util/MySystem.h: added my_popen()
-       * sdcc_vc_in.h: define pclose as _pclose for WIN32
-       * src/SDCCglue.c, src/SDCCglue.h: added set pipeSet, added function closePipes,
-       which closes all pipes in pipeSet set
-       * src/SDCCset.c: free deleted item in function deleteSetItem()
-       * src/src.dsp, src/z80/z80.dsp: files support/Util/BuildCmd.c and support/Util/MySystem.c
-       moved from z80 to src subproject
-
-2003-03-09  Borut Razem <borut.razem AT siol.net>
-
-       * src/SDCCglue.c: re-implemented tempfilename() and tempfile(): using mkstemp() if available
-       * src/SDCCsymt.h: fixed MSVC and BORLANDC compilation (included SDCCglobl.h instead srccconf.h)
-       * sdcc_vc_in.h: explicitly undefined HAVE_MKSTEMP which is not available on BORLANDC and MSVC
-       * src/SDCCset.h: removed inclusion of sdccconf.h or sdcc_vc.h
-       * src/SDCCglobl.h: unification of WIN32 native definitions
-
-2003-03-09  Frieder Ferlemann <Frieder.Ferlemann AT web.de>
-
-       * src/mcs51/gen.c: applied in-/dec patch mentioned on sdcc-devel 2003-03-01
-
-2003-03-08  Bernhard Held <bernhard AT bernhardheld.de>
-
-       * src/configure.in:   check for endianess (even while cross-compiling)
-       * src/configure:      check for endianess (even while cross-compiling)
-       * src/configure_in.h: check for endianess (even while cross-compiling)
-       * src/avr/gen.c:        remove old endianess stuff
-       * src/mcs51/gen.c:      remove old endianess stuff
-       * src/ds390/gen.c:      remove old endianess stuff
-       * src/pic/gen.c:        remove old endianess stuff
-       * src/pic/genarith.c:   remove old endianess stuff
-       * src/pic/glue.c:       fix endianess check
-       * src/pic16/gen.c:      remove old endianess stuff
-       * src/pic16/genarith.c: remove old endianess stuff
-       * src/pic16/glue.c:     fix endianess check
-       * src/xa51/gen.c:       remove old endianess stuff
-       * src/z80/gen.c:        fix endianess check
-       * src/SDCCglue.c:       fix endianess check
-       * src/ds390/peeph.def: fix bug 700036
-
-2003-03-08  Bernhard Held <bernhard AT bernhardheld.de>
-
-       * src/SDCCsymt.h: use appropriate data-types on host for SDCC's int and long
-       * src/configure: find appropriate data-types on host for SDCC's int and long
-       * src/configure.in: find appropriate data-types on host for SDCC's int and long
-       * src/sdccconf_in.h: find appropriate data-types on host for SDCC's int and long
-       * src/xa51/gen.c: use %d, not %ld for 4 byte variables
-
-2003-03-07    <johan AT balder>
-
-       Just a big NOOP:
-               some minor cleanups before the big shot
-               OP_DEFS and OP_USES now use Kevin's protection
-               new option --nolabelopt
-
-       * src/SDCCBBlock.c:
-       * src/SDCCast.c,:
-       * src/SDCCcflow.c:
-       * src/SDCCcse.c:
-       * src/SDCCicode.c:
-       * src/SDCCicode.h:
-       * src/SDCClabel.c:
-       * src/SDCCloop.c:
-       * src/SDCCmain.c:
-       * src/ds390/ralloc.c:
-       * src/mcs51/ralloc.c:
-       * src/pic/ralloc.c:
-       * src/xa51/ralloc.c:
-       * src/z80/ralloc.c:
-
-2003-03-06  Bernhard Held <bernhard AT bernhardheld.de>
-
-       * src/pic/pcode.c (get_op): fix 64 bit warnings
-       * src/pic/pcode.c (pCode2str): fix 64 bit warnings
-       * src/SDCChasht.c (newHashTable): fix 64 bit warnings
-       * src/SDCCsymt.c (checkTypeSanity): fix 64 bit warnings
-       * support/regression/tests/malloc.c: fix 64 bit warnings
-
-2003-03-04  Bernhard Held <bernhard AT bernhardheld.de>
-
-       * src/mcs51/gen.c (genMinus): fixed bug 696436
-
-2003-03-02  Borut Razem <borut.razem AT siol.net>
-
-       * src/SDCCmain.c: added BORLANDC, corrected MSVC in printVersionInfo()
-
-2003-02-26  Bernhard Held <bernhard AT bernhardheld.de>
-
-       * configure.in: test for mkstemp
-       * sdccconf_in.h: add HAVE_MKSTEMP
-
-2003-02-24  Bernhard Held <bernhard AT bernhardheld.de>
-
-       * device/include/ctype.h: removed warning while using --stack-auto
-       * device/include/malloc.h: removed warning while using --stack-auto
-       * device/include/string.h: removed warning while using --stack-auto
-
-2003-02-23  Borut Razem <borut.razem AT siol.net>
-
-       * src/asm.h: corrected assertion in function printILine(): _pipe() was not executed on MSVC,
-       because NDEBUG is defined (see man assert)
-       * sdcc_vc_in.h: vsnprintf is defined as _vsnprintf on MSVC
-
-2003-02-23  Frieder Ferlemann <Frieder.Ferlemann AT web.de>
-
-       * src/mcs51/gen.c (genUminusFloat): avoided dptr in-/decrement for xdata variables
-       * src/mcs51/peeph.def: added rule suggested by Gernot Fink, white space/comment changes
-
-2003-02-18  Frieder Ferlemann <Frieder.Ferlemann AT web.de>
-
-        * src/SDCCpeeph.c: added peephole conditions testing for same arguments
-        * src/mcs51/peeph.def: added rules 238a-d which remove redundant moves
-
-2003-02-18    <johan AT balder>
-
-       * as/mcs51/asmain.c (asmbl): module can start with a digit
-       * as/z80/asmain.c (asmbl): module can start with a digit
-
-2003-02-16  Bernhard Held <bernhard AT bernhardheld.de>
-
-       * sim/ucsim/mkecho: inserted #!/bin/sh for Cygwin, so that it's executable
-       * src/asm.c: fix pipe() for Mingw32
-
-2003-02-15  Bernhard Held <bernhard AT bernhardheld.de>
-
-       * src/SDCCglue.h: make tmpfileNameSet available for preOutName
-       * src/SDCCmain.c (preProcess): make sure, that preOutName will be deleted;
-       make -V work again; --c1mode reads now from stdin
-       * doc/sdccman.lyx: added --c1mode
-       * support/Util/SDCCerr.c: new messages for c1 mode
-       * support/Util/SDCCerr.h: new messages for c1 mode
-       * src/SDCC.lex (checkCurrFile): test if fullSrcFileName is NULL for c1mode
-
-2003-02-15    <johan AT balder>
-
-       * src/asm.c: new options: --no-c-code-in-asm and --i-code-in-asm
-
-2003-02-14  Bernhard Held <bernhard AT bernhardheld.de>
-
-       * doc/sdccman.lyx: Environment variables, -o and other minor things
-
-2003-02-14    <johan AT balder>
-
-       * src/xa51/main.c: before anyone really tries to use it :)
-
-       * Install doc's in share/sdcc/doc
-       * removed some obsolete files
-       * Do a proper make distclean and uninstall
-       M Makefile.common.in
-       R sdccbuild.sh
-       M as/Makefile
-       M device/include/Makefile.in
-       M device/lib/Makefile.in
-       M doc/sdccman.lyx
-       M link/Makefile
-       M sim/ucsim/doc/Makefile.in
-       M src/clean.mk
-       R src/avr/peeph.rul
-       R src/xa51/peeph.rul
-       M support/cpp2/Makefile.in
-       M support/makebin/Makefile
-
-
-2003-02-13  Bernhard Held <bernhard AT bernhardheld.de>
-
-       * support/regression/ports/host/spec.mk: use cc as host compiler for max osx
-
-2003-02-10  Borut Razem <borut.razem AT siol.net>
-
-       * doc/bccinst.txt, packihx/packihx.c, sdcc_vc_in.h, src/SDCCset.h,
-       support/cpp2/config.in: Borland C++ build doesn't depend on Cygwin configure
-       * Bcc.ini, Makefile.bcc, as/mcs51/Makefile.bcc,
-       device/examples/ds390/tinitalk/Makefile.bcc, packihx/Makefile.bcc,
-       support/cpp2/Makefile.bcc, src/Makefile.bcc, src/avr/Makefile.bcc,
-       src/ds390/Makefile.bcc, src/izt/Makefile.bcc, src/mcs51/Makefile.bcc,
-       src/pic/Makefile.bcc, src/pic16/Makefile.bcc, src/xa15/Makefile.bcc,
-       src/z80/Makefile.bcc: Borland Makefile cleanup
-       * as/z80/Makefile.bcc: Added Borland Makefile
-       * support/cpp2/borland.h: Removed
-
-2003-02-10  Bernhard Held <bernhard AT bernhardheld.de>
-
-       * doc/sdccman.lyx: new pragma NOIV by "Johannes Stezenbach" <js AT convergence.de>
-       * src/SDCC.lex: new pragma NOIV
-       * src/SDCCglobl.h: new pragma NOIV
-       * src/SDCCmem.c: new pragma NOIV
-
-2003-02-09  Bernhard Held <bernhard AT bernhardheld.de>
-
-       * src/SDCCmain.c: signal handling is switched off by SDCC_LEAVE_SIGNALS
-
-2003-02-09  Bernhard Held <bernhard AT bernhardheld.de>
-
-       * src/SDCCmain.c: signal handling is switched off by --debug
-       * doc/Makefile: small fix for install; use clean.mk again
-       * doc/clean.mk: clean *.pdf and *.html too
-
-2003-02-08  Bernhard Held <bernhard AT bernhardheld.de>
-
-       * device/lib/_mulint.c: small fix for large/ds390 --int-long-reent resp. --stack-auto
-       * device/lib/printfl.c: fix a ds390 bug by making it portable
-       * src/SDCCsymt.c (initCSupport): fix compile warning on Cygwin
-       * src/SDCCopt.c (cnvToFloatCast): fix compile warning on Cygwin
-       * src/SDCCopt.c (cnvFromFloatCast): fix compile warning on Cygwin
-       * debugger/mcs51/cmd.c: converted multi-line string literals
-       * sim/ucsim/globals.cc: converted multi-line string literals
-       * src/SDCCmain.c: introduced signal handler to remove temp files
-       * doc/Makefile: small tweaks, implement clean
-       * doc: removed generated files
-
-2003-02-05  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
-
-       * as/mcs51/aslink.h, as/mcs51/lkihx.c, as/mcs51/lkrloc.c:  Applied
-       patch from Jan Rejlek <jr AT apex-lib.cz> to fix Bug 677692: "Extended
-       Address Record is not correctly generated for DS390."
-
-2003-02-02  Borut Razem <borut.razem AT siol.net>
-
-       * Makefile.bcc: removed non existing cpp project and non compilable izt project from makefile
-       * as/mcs51/asm.h: fixed compilation with Borland C
-       * support/cpp2/Makefile.bcc: added rule to generate auto-host.h
-       * support/cpp2/auto-host_vc_in.h: fixed compilation with Borland C
-       * src/mcs51/mcs51a.dsp: corrected misspelled project name from msc51a to mcs51a
-       * src/avr/Makefile.bcc, src/ds390/Makefile.bcc, src/izt/Makefile.bcc,
-       src/mcs51/Makefile.bcc, src/pic16/Makefile.bcc, src/xa51/Makefile.bcc,
-       src/z80/Makefile.bcc: delete $(LIB) only if exist
-       * src/Makefile.bcc, src/pic/Makefile.bcc:  fixed compilation with Borland C
-
-2003-02-02  Bernhard Held <bernhard AT bernhardheld.de>
-
-       * device/include/malloc.h: introduced NULL
-       * device/include/string.h: introduced NULL
-       * device/include/stdlib.h: introduced NULL
-       * device/lib/_memcpy.c: removed NULL
-       * device/lib/_strcat.c: removed NULL
-       * device/lib/_strchr.c: removed NULL
-       * device/lib/_strcmp.c: removed NULL
-       * device/lib/_strcpy.c: removed NULL
-       * device/lib/_strcspn.c: removed NULL
-       * device/lib/_strlen.c: removed NULL
-       * device/lib/_strncat.c: removed NULL
-       * device/lib/_strncmp.c: removed NULL
-       * device/lib/_strncpy.c: removed NULL
-       * device/lib/_strpbrk.c: removed NULL
-       * device/lib/_strrchr.c: removed NULL
-       * device/lib/_strspn.c: removed NULL
-       * device/lib/_strstr.c: removed NULL
-       * device/lib/_strtok.c: removed NULL
-       * device/lib/malloc.c: removed NULL, include own header
-
-2003-02-02    <johan AT balder>
-
-       * src/mcs51/ralloc.c (packForPush): fixed bug #631653, maybe other ports need this too? At least now some new alerts in SDCCBBlock.c and SDCCicode.c gives an early warning
-       * support/regression/fwk/lib/testfwk.c: div and mod isn't broken anymore
-       * regressions ds390/spec.mk and mcs51/spec.mk (timeout): my good old balder isn't fast enough for some tests
-       * src/z80/gen.c (genZ80Code): added c-lines in asm comments
-       * as/z80/asm.h (NINPUT): increased for long c-comments in regression tests
-       * src/z80/gen.c (genRightShiftLiteral): fixed the (char)(-3)>>8 (I think)
-
-2003-02-01  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
-
-       * src/SDCCmain.c: Fixed bug 678574: "ds390: ASlink-Error-Stack overlaps
-       area 'DATA'"
-
-2003-02-01    <johan AT balder>
-
-       * src/SDCCval.c (valBitwise): fixed Karl's "2 | (1<<8)"
-
-2003-01-31    <johan AT CP255758-A>
-
-       * src/ds390/main.c (_ds390_genAssemblerPreamble): applied Jan Rejlek's >64K startup patch
-
-2003-01-30    <johan AT balder>
-
-       * src/SDCCBBlock.c: automatic bug detection
-       * src/SDCCicode.c: automatic bug detection
-
-2003-01-29  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
-
-       * src/SDCCglobl.h:   now --xram-size 0 works
-       * src/SDCCmain.c:    now --xram-size 0 works
-
-2003-01-29    <johan AT balder>
-
-       * src/almosteverything: changed OP_DEFS and OP_USES from macros to functions to catch symbol abuse (a hot topic in the bug list :)
-
-2003-01-29  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
-
-       * as/mcs51/aslink.h: Added options --xram-size and --code-size
-       * as/mcs51/lkdata.c: Added options --xram-size and --code-size
-       * as/mcs51/lkmain.c: Added options --xram-size and --code-size
-       * as/mcs51/lkmem.c:  Added options --xram-size and --code-size
-       * src/SDCCglobl.h:   Added options --xram-size and --code-size
-       * src/SDCCmain.c:    Added options --xram-size and --code-size
-
-2003-01-28  Bernhard Held <bernhard AT bernhardheld.de>
-
-       * src/ds390/gen.c: fix deps by replacing <common.h> with "common.h"
-       * src/SDCC.lex: rename P_OVERLAY to P_OVERLAY_ for cross-gcc 3.2 MINGW32
-
-2003-01-27    <johan AT balder>
-
-       * src/SDCC.y: fixed bug #613764
-
-2003-01-26    <johan AT balder>
-
-       * src/SDCClrange.c:  fixed Bernhard's "char * code ptr = &c"
-       * src/SDCCsymt.h: fixed bug #673374
-       * src/SDCCglue.c: fixed bug #661910
-       * src/SDCCast.c: fixed bug #458099 and 673374
-
-2003-01-26  Bernhard Held <bernhard AT bernhardheld.de>
-
-       * as/mcs51/strcmpi.c: added, provides Aurelien Jarno's as_strcmpi(); strcmpi() is not ANSI
-       * as/mcs51/strcmpi.h: added
-       * as/mcs51/asm.h: remove ugly "#define strcmpi strcmp"
-       * as/mcs51/aslink.h: remove ugly "#define strcmpi strcmp"
-       * as/mcs51/asmain.c: strcmpi -> as_strcmpi
-       * as/mcs51/assym.c: strcmpi -> as_strcmpi
-       * as/mcs51/lkmem.c: strcmpi -> as_strcmpi
-       * as/mcs51/lknoice.c: strcmpi -> as_strcmpi
-       * as/mcs51/lksym.c: strcmpi -> as_strcmpi
-       * as/mcs51/Makefile.aslink: new module strcmpi
-       * as/mcs51/Makefile.asx8051: new module strcmpi
-       * as/mcs51/Makefil.bcc: new module strcmpi
-       * as/mcs51/Makefile.in: new module strcmpi
-       * sim/ucsim/s51.src/uc390.cc (get_mem_size): make RAM big enough for tinibios
-
-2003-01-26    <johan AT balder>
-
-       * src/SDCCglue.c: reverted back to 1.124
-       * src/SDCCast.c: reverted back to 1.156
-       * src/mcs51/gen.c (aopGet): applied Frieder's efficiency patch
-
-2003-01-25    <johan AT balder>
-
-       * src/SDCCglue.c: A better fix for bug #661910
-       * src/SDCCast.c: A better fix for bug #661910
-       * src/SDCCglue.c (emitRegularMap): That was a little too efficient
-
-2003-01-24  Bernhard Held <bernhard AT bernhardheld.de>
-
-       * src/Makefile.in: remove spawn.o
-       * src/SDCCmain.c: remove spawn.h
-       * src/SDCCmain.c (printVersionInfo): report MINGW32 instead of UNIX
-       * src/spawn.c: removed
-       * src/spawn.h: removed
-       * support/regression/ports/ds390/spec.mk: link with -r
-
-2003-01-24    <johan AT CP255758-A>
-
-       * src/ds390/gen.c (aopOp): fixed bug #667458
-       * src/SDCCglue.c (emitRegularMap): fixed bug #458099 again
-       * src/SDCCast.c (createIvalCharPtr): fixed bug #661910
-       (createIvalCharPtr): an ival doesn't always have a storage class anymore
-
-2003-01-24  Bernhard Held <bernhard AT bernhardheld.de>
-
-       * src/mcs51/peeph.def: better assembler identation by Frieder
-       * src/mcs51/gen.c: better assembler identation by Frieder
-
-2003-01-22  Bernhard Held <bernhard AT bernhardheld.de>
-
-       * as/z80/string.h: removed for gcc 3.2
-       * support/makebin/makebin.c: #include <string.h> for gcc 3.2
-       * src/pic/pcode.c (get_op_from_instruction): fix concatenation of string literals with __FUNCTION__ for gcc 3.2
-
-2003-01-19  Bernhard Held <bernhard AT bernhardheld.de>
-
-       * src/SDCCmain.c (linkEdit): rename mem and map files even in case of failure
-       * src/SDCCpeeph.c (replaceRule): fix bug #663503
-       * support/regression/Makefile: separate temp files for ports
-       * support/regression/generate-cases.py: separate temp files for ports
-       * src/mcs51/peeph.def: Frieder: removed 237 (obsolete by 236g and 105); added 237 a/b
-       * src/ds390/peeph.def: Frieder: removed 237 (obsolete by 236g and 105); added 237 a/b
-
-2003-01-19  Bernhard Held <bernhard AT bernhardheld.de>
-
-       * moved tinitalk to device/examples/ds390
-
-2003-01-14  Bernhard Held <bernhard AT bernhardheld.de>
-
-       * as/mcs51/lkmem.c: rflag is for DS390
-       * src/SDCCglobl.h: removed out_name and options stackOnData, genericPtr
-       * src/SDCCmain.c (optionsTable, setDefaultOptions): removed --stack-after-data and --generic
-                        (linkEdit): move mem- and map-files the same way as ihx-files
-       * src/z80/main.c (_setDefaultOptions): removed --generic
-       * src/SDCCmain.c (_processC1Arg, parseCmdLine, main): --c1mode works again
-       * src/SDCCglue.c (createInterruptVect, glue): --c1mode works again
-       * src/pic/glue.c (picglue): --c1mode works again
-       * src/pic16/glue.c (pic16glue): --c1mode works again
-       * src/asm.c (printCLine): fix #660034
-
-2003-01-13  Bernhard Held <bernhard AT bernhardheld.de>
-
-       * src/ds390/peeph.def: fix #123; add 14 rules by Fiorenzo D. Ramaglia <fd.ramaglia AT tin.it>, 1 by Frieder
-       * src/mcs51/peeph.def: fix #123; add 14 rules by Fiorenzo, 1 by Frieder
-       * src/mcs51/gen.c (genFunction): emit r0 instead of ar0 by Fiorenzo
-       * as/mcs51/lkmem (summary): better fix for sp problem
-       * src/SDCCglue.c (glue): __start_stack - 1, saves 1 byte!
-       * src/ds390/main.c (_ds390_finaliseOptions, _tininative_finaliseOptions): stack_loc = 0x400008
-       * support/regression/ports/*/spec.mk: moving testfwk-object to port dir allow parallel execution of regression tests
-                                             remove --stack-after-data
-
-2003-01-12  Bernhard Held <bernhard AT bernhardheld.de>
-
-       * src/SDCCmain.c (main): port->finaliseOptions() moved for z80 linking
-       * src/SDCCutil.c (join): ugly bug: missing '\0'
-       * as/mcs51/lkmem.c (summary): sp on address 7 is safe
-
-2003-01-11  Bernhard Held <bernhard AT bernhardheld.de>
-
-       * src/SDCCmain.c (assemble, linkEdit): preparations for -o
-       * src/port.h: typo
-       * src/pic/main.c (_asmCmd): gpasm supports -o
-       * src/z80/main.c: more general macros
-       * device/lib/Makefile.in: remove intermediate files
-
-2003-01-11  Bernhard Held <bernhard AT bernhardheld.de>
-
-       * .version: Bumped version number to 2.3.3
-       * src/SDCCBBlock.c: new option -o
-       * src/SDCCglobl.h: new option -o
-       * src/SDCCglue.c: new option -o
-       * src/SDCCmain.c: new option -o
-       * src/asm.c: new option -o
-       * src/ds390/main.c: new option -o
-       * src/pic/glue.c: new option -o
-       * src/pic/pcode.c: new option -o
-       * src/pic/ralloc.c: new option -o
-       * src/pic16/glue.c: new option -o
-       * src/pic16/pcode.c: new option -o
-       * src/pic16/ralloc.c: new option -o
-       * src/z80/main.c: new option -o
-       * device/lib/Makefile.in: use -o
-       * support/regression/ports/ds390/spec.mk: use -o
-       * support/regression/ports/gbz80/spec.mk: use -o
-       * support/regression/ports/mcs51/spec.mk: use -o
-       * support/regression/ports/mcs51-stack-auto/spec.mk: use -o
-       * support/regression/ports/z80/spec.mk: use -o
-       * support/regression/ports/ucz80/spec.mk: use -o
-       * support/regression/ports/xa51/spec.mk: use -o
-       * support/regression/fwk/lib/timeout.c: fix usage string
-
-2003-01-09  Bernhard Held <bernhard AT bernhardheld.de>
-       * src/mcs51/gen.c (genPlus): replaced "mov b,acc" by "mov b,a" Fiorenzo D. Ramaglia <fd.ramaglia AT tin.it>
-
-2003-01-07    <johan AT balder>
-
-       * src/SDCCast.c (decorateType): fixed bug #600035
-
-2003-01-07  Bernhard Held <bernhard AT bernhardheld.de>
-       * as/mcs51/lkmem.c: added several l-modifiers to printf to remove warnings
-       * as/mcs51/lkaomf51.c: #include <ctype.h> to remove warnings
-       * src/pic/main.c (_hasNativeMulFor): outcommented unused variables to remove warnings
-       * src/pic/pcode.c: outcommented unused variable to remove warnings
-       * src/pic/ralloc.c: outcommented unused variable to remove warnings
-
-2003-01-06    <karl AT turbobit.com>
-       * sim/ucsim/cmd.src/command.cc: fixed so "break xram r 0x7654" works again in
-   regression tests.
-
-2003-01-06    <johan AT balder>
-
-       * src/SDCCicode.c: fixed array add
-
-2002-01-05  Bernhard Held <bernhard AT bernhardheld.de>
-       * src/SDCCmacro.c: MAX_STRING_LENGTH increased to 2048; was too small for regression tests
-       * support/regression/ports/host/support.c: #include <stdarg.h> for gcc 3.2
-
-2003-01-04    <johan AT balder>
-
-       * src/SDCCval.c (getNelements): fixed the initialized array of structures
-
-2002-12-29  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
-        * as/mcs51/Makefile.bcc: fixed typo lkomf51.o -> lkaomf51.o
-
-2002-12-28  Bernhard Held <bernhard AT bernhardheld.de>
-       * src/mcs51/peeph.def: added rules 234 and 235 from Frieder Ferlemann <frieder.ferlemann AT web.de>
-       * support/regression/tests/bug-524697.c: fit mem usage into 8032
-
-2002-12-28  Bernhard Held <bernhard AT bernhardheld.de>
-       * src/mcs51/gen.c (aopGetUsesAcc): inserted missing "return FALSE"
-
-2002-12-27  Bernhard Held <bernhard AT bernhardheld.de>
-        * as/mcs51/Makefile.in: fixed typo lkomf51.o -> lkaomf51.o
-
-2002-12-26  Bernhard Held <bernhard AT bernhardheld.de>
-       * src/mcs51/main.c: removed {bindir}{sep} from aslink
-
-2002-12-10  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
-
-    * in \sdcc\as\mcs51\ changed these files in order to create an
-    aomf51 file: aslink.h, lkdta.c, lklex.c, lklibr.c, lklist.c,
-    lkmain.c.  Also added: lkmem.c and lkaomf51.c.  Changed the
-    following files to include the previous two files: aslink.dsp,
-    Makefile.aslink, Makefile.bcc, and Makefile.in.
-
-    * Changed \sdcc\src\SDCCmain.c so it creates files with extension
-    .adb instead of .cdb
-
-2002-11-09  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
-
-       * \sdcc\as\mcs51\lklist.c: Now reports memory usage using the
-       value from option --iram-size.
-
-2002-09-20  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
-
-       * \sdcc\as\mcs51\lklist.c: added boundary check before using
-       dram[] array.
-
-2002-09-18    <wiml AT hhhh.org>
-
-       * SDCClrange.h: exposed setFromRange() and setToRange()
-       * mcs51/ralloc.c: fixed over-eager packRegsForSupport() and
-         packRegsForAccUse() (bug 542397)
-       * mcs51/gen.c: MOVA() is now a function to avoid calling aopGet()
-         multiple times and emitting the fetch operations more than once
-         added aopGetUsesAcc() function to allow binary operators to
-         fetch their operands in the correct order; made genMinus() emit
-         compact code for X = LITERAL - Y
-
-2002-09-00  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
-       * \sdcc\as\mcs51\lklist.c: Fixed incorrect number of parameters to
-       sprintf() in line 1267.
-
-2002-09-08  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
-       * \sdcc\src\SDCCglue.c: Generate areas REG_BANK_[0-3] only for 8051
-       like ports.
-
-2002-09-04  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
-       Changes to aslink (All the changes are marked with 'JCF'):
-
-       * \sdcc\as\mcs51\aslink.h: External definition of sflag and
-       summary().
-
-       * \sdcc\as\mcs51\lkarea.c: Computes the size of area BSEG_BYTES from
-       area BSEG.  Also moves, if possible, the DATA area down into the internal
-       ram so more space is available.
-
-       * \sdcc\as\mcs51\lkdata.c: Definition of memory summary output flag
-       sflag.
-
-       * \sdcc\as\mcs51\lklist.c: For the BSEG area report the size in bits,
-       not bytes.  Function summary() which creates a memory usage summary
-       file with extension .mem.  Reports of overlaping stack and small stack
-       size.  If the space for the stack is less than 16 bytes aslink trows a
-       warning.
-
-       * \sdcc\as\mcs51\lkmain.c: Creation of some of the default areas for
-       the 8051.  Option 'y' for memory summary output file.
-
-       Changes to sdcc (All the changes are marked with 'JCF'):
-
-       * \sdcc\src\SDCCglobl.h: External definition of RegBankUsed[4].
-
-       * \sdcc\src\SDCCglue.c:  If a register bank is used, creates an
-       overlaying area for it (uses RegBankUsed[4]).
-
-       * \sdcc\src\SDCCmain.c: Definition RegBankUsed[4]; marks register
-       bank zero as used by default.  By default aslink locates the stack
-       (equivalent to --stack-after-data).  Pass option 'y' to aslink for
-       the creation of the .mem file.  Delegates the allocation of data area
-       to aslink (it is not longer 0x30 by default).  If --stack-loc passes
-       the begining of the stack area to aslink.
-
-       * \sdcc\src\SDCCmem.c:  If a register bank is used, marks it so
-       glue() in SDCCglue.c creates an area for it.
-
-2002-09-03  Borut Razem <borut.razem AT siol.net>
-       * sdcc/src/SDCCglue.c, sdcc/src/SDCCglue.h, sdcc/src/SDCCmain.c,
-       sdcc/src/pic/glue.c:
-       introduced atexit() handler for teporay files removal in case of
-       errors, assertions, ...
-
-2002-08-29  Borut Razem <borut.razem AT siol.net>
-       * sdcc/support/cpp2/auto-host_vc_in.h:
-       re-definition of O_BINARY and other O_XXX as _O_BINARY and _O_XXX, so the problem
-       with the returned value from read() in sdcc/support/cpp2/cppfiles.c is solved for MSC.
-       Maybe there is a similar problem with BORLANDC? It should be checked!
-
-       * sdcc/src/ds390/ralloc.c, sdcc/src/mcs51/ralloc.c, sdcc/src/z80/ralloc.c:
-       corrected improper use of assert: the assignment to clr variable was done inside the assert.
-       In case that NDEBUG was defined, the assert macro was substituted with no-op, so the assignment
-       was not executed, and the compiler (cl) launched a warning:
-       ralloc.c(1442) : warning C4700: local variable 'clr' used without having been initialized
-
-2002-08-28  Bernhard Held <bernhard AT bernhardheld.de>
-       * src/SDCCglue.c (printIvalArray): iterative calculation of array length
-
-2002-08-28  Jesus Calvino-Fraga and Borut Razem <borut.razem AT siol.net>
-       * sdcc/sdcc.dsw: added sdcpp, sdcppa, yacc, conf projects
-
-       * sdcc/src/src.dsp, sdcc/src/avr/avr.dsp, sdcc/src/ds390/ds390.dsp,
-         sdcc/src/mcs51/mcs51.dsp, sdcc/src/pic/pic.dsp, sdcc/src/z80/z80.dsp,
-         sdcc/src/xa51/xa51.dsp, sdcc/src/avr/avra.dsp,
-         sdcc/src/ds390/ds390a.dsp, sdcc/src/mcs51/mcs51a.dsp,
-         sdcc/src/pic/pica.dsp, sdcc/src/z80/z80a.dsp,
-         sdcc/src/xa51/xa51a.dsp, sdcc/as/as_z80.dsp,
-         sdcc/as/aslink.dsp, sdcc/as/asx8051.dsp, sdcc/packihx/packihx.dsp:
-       - added Release configuration in VS projects
-       - review of compiler an linker options
-       - VC .exe files are generated in bin_vc directory, not to interfere
-         with binaries generated from other projects (cygwin, mingw, bcc ...)
-
-       * sdcc/src/yacc.dsp: added
-
-       * sdcc/config.dsp, sdcc/configure_vc.awk, sdcc/sdcc_vc_in.h:
-       added - genarate sdcc_vc.h using sdcc_vc_in.h as template
-       and insert the version number definitions from .version
-
-       * sdcc/support/cpp2/sdcpp.dsp: added - VC project for sdcpp
-
-       * sdcc/support/cpp2/sdcppa.dsp, sdcc/support/cpp2/auto-host_vc_in.h:
-       added - genarate auto-host.h using auto-host_vc_in.h as template
-
-       * sdcc/sdcc_vc.h,
-       removed from CVS, generated automatically
-
-2002-08-25  Bernhard Held <bernhard AT bernhardheld.de>
-       * support/scripts/inc2h.pl: use gputils or gpasm (from Nathan Hurst)
-
-2002-08-11  Borut Razem <borut.razem AT siol.net>
-       * support/Util/NewAlloc.c: removed unneeded #include "sdccconf.h" (suggested by Jesus Calvino-Fraga)
-
-2002-08-10  Borut Razem <borut.razem AT siol.net>
-       * src/SDCCmain.c (main):
-       file preOutName was unlinked before closed. This seems to be OK on UNIX and cygwin
-       platforms, but it doesn't work with Visual Studio: the opened file can not be removed.
-       The consequence was that some temporary files were not removed.
-
-       * src/SDCCglue.c:
-       unification of code in functions tempfilename() and tempfile():
-       function tempnam() is defined in Visual Studio 6.0 and .NET
-
-       * sdcc/sdcc.dsw: removed project sdcpp, added project xa51a
-
-       * sdcc/src/src.dsp, sdcc/src/avr/avr.dsp, sdcc/src/ds390/ds390.dsp,
-         sdcc/src/mcs51/mcs51.dsp, sdcc/src/pic/pic.dsp, sdcc/src/z80/z80.dsp:
-       - removed compiler command line option /WX: Treats all warnings as errors
-       - update a list of source files, included into the project
-
-       * sdcc/src/avr/avra.dsp, sdcc/src/ds390/ds390a.dsp, sdcc/src/mcs51/mcs51a.dsp,
-         sdcc/src/pic/pica.dsp, sdcc/src/z80/z80a.dsp:
-       changed project type to Generic Project so that can be correcly converted to VS.NET project
-
-       * sdcc/as/mcs51/asm.h: definition of PATH_MAX for MSC
-
-       * sdcc/src/SDCCast.c: solved MSC error in function decorateType()
-
-       * sdcc/src/SDCC.y: added missing ending ';' to rules to get rid of bison warnings
-
-       * dcc/src/ds390/ralloc.c, sdcc/src/mcs51/ralloc.c:
-       added return 0 statements after assert() to make compiler happy
-
-       * sdcc/src/xa51/peeph.rul, sdcc/src/xa51/peeph.def, sdcc/src/z80/ralloc.c:
-       added newline in the def file to keep MSC compiler satisfied
-
-       * sdcc/src/z80/gen.c:
-       - function strcasecmp() is not defined in MSC (and probably also in BORLANDC),
-         so it is replaced with STRCASECMP, which is defined as stricmp in case of MSC and BORLANDC
-       - solved MSC error in function aopDump()
-
-       * sdcc_vc.h: define PREFIX as "\\sdcc"
-
-2002-07-18  Bernhard Held <bernhard AT bernhardheld.de>
-       * src/SDCCast.c (decorateType): fixed access to array of structures http://sourceforge.net/mailarchive/forum.php?thread_id=902690&forum_id=4107
-
-2002-06-22  Scott Dattalo <scott AT dattalo.com>
-       * src/pic/*: Numerous bug fixes. Flow analysis has been enhanced.
-       - Rewrote the register banking algorithm.
-       - Added pCode live-range analysis to registers (for now, only non-used and
-       singly-used registers optimized away)
-
-       * src/pic/pcoderegs.[ch]: Added new files for pCode live-range analysis
-
-       * support/scripts/inc2h.pl Kevin L. Pauba <klpauba AT cox.net> submitted this perl script for converting MicroChip include files into SDCC Pic include files.
-
-2002-05-10  Scott Dattalo <scott AT dattalo.com>
-       * src/pic/*: Added support for multiplication. Fixed many,many bugs.
-
-2002-04-22  Michael Hope  <michaelh AT vroom>
-
-       * device/lib/z80/printf.c: Changed emitter to volatile to work around a pcall bug.
-
-       * configure.in (DD_COPT): Added include support required for gbdk.
-
-       * .version: Bumped version number just to increase it.
-
-       * src/SDCCmain.c: Added -nostdinc to the default options.
-
-2002-04-15  Michael Hope  <michaelh AT vroom>
-
-       * device/lib/z80/printf.c (sprintf): Added.
-
-       * src/z80/ralloc.c (packRegisters): Disabled pack HL use for GB as it's broken.
-
-       * src/z80/peeph.def: Added transpose redundent load rule.
-
-       * src/z80/main.c: Added force callee saves for jaune.
-
-       * src/port.h: Removed the i186 and tlcs-900h ports as they weren't being being developed.
-
-       * src/SDCCmain.c: Pulled the options definition out so that you can add port specific options without changing the main file.
-
-2002-03-28  Johan Knol  <johan AT balder>
-
-       * src/SDCCval.c: fixed bug #532436
-
-2002-03-14  Scott Dattalo <scott AT dattalo.com>
-       * /src/port.h:
-       Added "char *Processor" field to the port structure.
-
-       * /src/SDCCmain.c:
-       Added -p option. Allows port dependent processor to be specified.
-
-       * all ports:
-       Initialized the new field char *Processor field to NULL in all ports
-
-       * /src/pic/*:
-       Compiler generated registers for interrupt context saving
-       were not getting allocated.
-
-2002-03-16  Sandeep Dutta  <sandeep AT ddi.com>
-
-       * /src/SDCCast.c:
-       Fixed left shift. Will promote the left side of a left shift
-       if a) left shifting more than size of operand or b) when assigned
-       to something size > size of left side
-
-2002-03-14  Scott Dattalo <scott AT dattalo.com>
-       * src/pic/*
-       tons of changes. Register allocation has been
-       rewritten. Added customization for the various PICs. Flow
-       analysis is restructured. ...
-
-       * src/pic/device.h:
-       Added
-
-       * src/pic/device.c:
-       Added. device.c is a PIC port hack to accomodate variations
-       in PIC devices.
-
-2002-03-13  Michael Hope  <michaelh AT vroom>
-
-       * src/z80/gen.c (genGenPointerGet): Fixed a bug where a pointer in HL is dereferenced into HL but HL is not spilled.  Yeah.
-
-2002-03-04  johanknol  <johanknol AT manik>
-
-       * /src/SDCCval.c: fixed
-
-       const unsigned char arr[][2] = { { 0, 1 } };
-       t18.c:1: error: Initializer element is not constant
-
-2002-03-04  bela  <bela AT manik>
-
-       * /device/include/mcs51reg.h:
-       ds89c420 register definition update
-
-2002-03-03    <johan AT FRIJA>
-
-       * support/Util/SDCCerr.c: did something, but don't no why anymore
-
-       * support/regression/tests/bug-524691.c: made it a little less shy
-
-       * src/SDCCast.c (decorateType): fixed bug #524697
-
-       * src/SDCCast.c: made some lineno improvements
-
-       * src/SDCCval.c (getNelements): changed warning to error
-
-       * src/SDCCglue.c (printIvalArray): changed warning to error
-
-       * src/SDCCicode.c: fixed a warning for mingw
-
-       * src/SDCCast.c (decorateType): fixed the << promotion for ops
-
-       * src/SDCCicode.c (geniCodeDivision): divide is shift only for unsigned (bug #524685)
-
-2002-03-02  Sandeep Dutta  <sandeep AT ddi.com>
-
-       * src/ds390/peeph.def:
-       Added some more peephole rules
-
-       * src/ds390/gen.c: Various fixes & enhancements
-
-       * src/SDCClrange.c, src/SDCClrange.h:
-       functions "alldefsoutofrange" and "notusedinblock" moved to SDCClrange.c
-
-       * src/ds390/ralloc.c:
-       various fixes & enhancements (ds390) specific
-
-       * src/avr/ralloc.c, src/mcs51/ralloc.c, src/pic/ralloc.c, src/xa51/ralloc.c, src/z80/ralloc.c:
-       Functions "allDefsOutOfRange" & "notUsedinBlock" moved to SDCClrange.c
-       from rallocs.
-
-       * sdcc/src/SDCCcse.c: Better fix for bug # 514308
-
-2002-03-02    <johan AT FRIJA>
-
-       * src/SDCCast.c (decorateType): fixed bug #524708
-
-       * src/SDCCval.c (floatFromVal): fixed the literal void (whatever that may be)
-
-       * src/SDCCicode.c (geniCodePtrPtrSubtract): fixed bug #524691
-
-2002-03-01  Michael Hope  <michaelh AT vroom>
-
-       * src/SDCCsymt.c (initCSupport): Removed managling of support function names.
-
-       * src/z80/ralloc.c (packRegsForIYUse): Fixed fp bug where four byte operands were packed into IY.
-
-2002-03-01    <johan AT FRIJA>
-
-       * src/SDCCglue.c (printIvalPtr): fixed bug #524211
-
-       * src/SDCCast.c (decorateType): fixed bug #524209
-
-       * src/SDCCval.c (valNot): fixed bug #524195
-
-2002-02-26    <johan AT balder>
-
-       * src/xa51/gen.c: fixed a warning
-
-       * src/SDCCglue.c (printIvalFuncPtr): fixed bug #522534
-
-       * src/SDCCast.c (decorateType): fixed bug #522534
-
-2002-02-23    <johan AT balder>
-
-       * src/SDCCdflow.c (computeDataFlow): fixed bug #460088
-
-2002-02-22    <johan AT balder>
-
-       * src/SDCCast.c: fixed bug #514865
-
-       * src/SDCCy.c ("SDCC.y"): fixed bug #516625
-
-2002-02-21  Sandeep Dutta  <sandeep AT ddi.com>
-
-       * sdcc/src/SDCCloop.c:
-       Previous fix was not good. basic blocks that have "break" or "return" are
-       not really partof a loop , but live ranges used in these blocks should
-       be live thru the entire loop, so set partOfLoop but don't add them to
-       loop region
-
-2002-02-21    <johan AT FRIJA>
-
-       * src/SDCCcse.c: fixed bug #514308
-
-2002-02-20  Sandeep Dutta  <sandeep AT ddi.com>
-
-       * src/SDCCloop.c:
-       Fixed BUG #519583. If a conditional block ended in a return/break
-       statement inside a loop, it was not being considered part of the loop.
-
-       * src/SDCCcflow.c: Removed fix (Fixed in SDCCloop.c)
-
-2002-02-10  Karl Bongers <karl AT turbobit.com>
-
-       * debugger/*:
-       Fixed up SDCDB debugger somewhat.  Updated debugger/README
-       with lots of comments and notes.
-
-       * device/examples/test2.c:
-       Fix bug, "red" variable not being initialized(compiler complained).
-
-       * device/examples/Makefile, examples/test3.c:
-       Add Makefile in device/examples folder, compiles test3.c
-       for use as a multiple module SDCDB test case.
-
-       * sim/ucsim/cmd.src/cmdset.cc:
-       Took out debug printfs in ucsim "next" command.
-
-       * sim/ucsim/xa.src:
-       Karl and Johan start ucsim XA support.  Most dissassembly working,
-       about 75% emulation done(plenty of work remaining).
-
-       * sim/ucsim/z80.src:
-       Add Z80 support to ucsim, add test-ucz80 regression test,
-       notice ucsim/z80 emulation fails on examples/test3.c/itoa code.
-       Notice z80 compiler fails on examples/test3.c/crc code.
-
-2002-01-30  Sandeep Dutta  <sandeep AT ddi.com>
-
-       * src/mcs51/gen.c, src/mcs51/main.c, src/mcs51/ralloc.c:
-       Added support for --parms-in-bank1
-
-       * src/ds390/peeph.def:
-       added a few more peephole optimzations
-
-       * src/ds390/main.c:
-       1) added __builtin_inp & __builtin_outp used to read in data of given length
-          from a memory mapped port
-       2) added __builtin_memcmp
-       3) added __builtin_swapw swap bytes of a short
-
-       * src/ds390/gen.c, src/ds390/gen.h, src/ds390/ralloc.c:
-       1) handle multiple send & receives from register bank1
-       2) ralloc can now allocate DPTR1 to some liveRanges
-
-       * src/SDCCsymt.c, src/SDCCsymt.h:
-       changes to handle multiple sends & receives
-
-       * src/SDCCptropt.h:
-       added some pointer arithmetic optimization
-
-       * src/SDCCptropt.c:
-       added some pointer arithmetic optimizations but not stable yet so not
-       called from anywhere (will get this working shortly)
-
-       * src/SDCCopt.c: fixed for multiple sends & receives
-
-       * src/SDCCmain.c:
-       1) added options --parms-in-bank1 (ds390/mcs51) & --protect-sp-update
-       2) preprocessing done AFTER port->finalizeoptions . This allows ports to
-          set preprocessor defines (depending on options)
-
-       * src/SDCCicode.c, src/SDCCicode.h:
-       changes made to handle multiple sends & receives
-
-       * src/SDCCglobl.h:
-       Added options --protect-sp-update (ds390) and --parms-in-bank1 (ds390/mcs51)
-
-       * src/SDCCcse.c, src/SDCCcse.h:
-       added function findbackward def (to be used in upcoming optimization)
-
-       * src/SDCCcflow.c, src/SDCCcflow.h:
-       added function returnAtEnd - to determine if a basic block terminates with
-       a RETURN iCode
-
-       * src/SDCCast.c, src/SDCCast.h:
-       added option parms-in-bank1
-
-       * device/lib/_divsint.c, device/lib/_divslong.c, device/lib/_divuint.c
-       * device/lib/_divulong.c, device/lib/_modsint.c, device/lib/_modslong.c
-       * device/lib/_modulong.c, device/lib/_mulint.c, device/lib/_mullong.c:
-       adjusted for --parms-in-bank1 option
-
-       * device/include/string.h:
-       donot redefine "reentrant" keyword
-
-       * device/include/ds80c390.h: Added some more SFRs
-
-2002-01-28  Bernhard Held  <bernhard AT bernhardheld.de>
-
-       * sim/ucsim: Merged branch ucsim-034-pre3 to main trunk; new version 0.4
-
-2002-01-26  Bernhard Held  <bernhard AT bernhardheld.de>
-
-       * src/SDCCast.c (funcOfType): fix usage of double --float-reent
-
-2002-01-22  Bernhard Held  <bernhard AT bernhardheld.de>
-
-       * support/regression/fwk/lib/testfwk.c (main): Removed workaround for bug #505387
-
-2002-01-18  Paul Stoffregen  <paul AT pjrc.com>
-
-       * Added --xram-movc option
-
-2002-01-13  Bernhard Held  <bernhard AT bernhardheld.de>
-
-       * support/regression/Makefile: don't include test-mcs51-stack-auto in target all
-
-2002-01-11  Johan Knol
-
-       * Added math lib of Jesus Calvino-Fraga
-
-2002-01-08  Bernhard Held  <bernhard AT bernhardheld.de>
-
-       * src/SDCCmain.c (processFile): fix processing of ../../src.c
-       * support/regression/Makefile: new target test-mcs51-stack-auto
-       * support/regression/ports/mcs51-stack-auto/spec.mk: added
-
-2002-01-04  Bernhard Held  <bernhard AT bernhardheld.de>
-
-       * src/SDCCglue.h: printIvalCharPtr(), not printIvalChar()
-
-2002-01-04  Bernhard Held  <bernhard AT bernhardheld.de>
-
-       * support/regression/ports/mcs51/support.c: correct setup of timer / UART
-
-2002-01-03  Bernhard Held  <bernhard AT bernhardheld.de>
-
-       * src/SDCCsymt.c (processFuncArgs): fix #498307 by Johan
-
-       * src/SDCCglue.h: add definition for printIvalChar()
-
-2002-01-02  Bernhard Held  <bernhard AT bernhardheld.de>
-
-       * src/SDCCast.c: fix #498138 by Johan
-
-       * src/SDCCglue.c: fix #498138 by Johan
-
-2002-01-02  Bernhard Held  <bernhard AT bernhardheld.de>
-
-       * support/regression/Makefile: fix clean
-
-       * support/regression/ports/ds390/support.c: fix transmission of last character
-
-2001-12-29  Sandeep Dutta  <sandeep AT ddi.com>
-
-       * /sdcc/src/ds390/gen.c:
-       a) improved computing address of stack variable
-       b) took out some #if 0 code
-       c) improved parmBytes adjustment
-       d) improved genPlusIncr & genMinusIncr
-       e) genCmp could generate bad code (when left assigned to DPTR)
-       f) Fixed bug in hasInc
-
-       * /sdcc/src/ds390/ralloc.c:
-       a) packRegsForSupport could mess up live information (Fixed)
-       b) packRegsDPTRuse could be incorrect for left & right shift
-
-       * /sdcc/src/mcs51/ralloc.c:
-       packRegsForSupport could mess up the live information (Fixed)
-
-       * /sdcc/src/mcs51/gen.c: Fixed a bug in hasInc
-
-       * /sdcc/src/SDCCast.c:
-       can reverse a loop even if function call is present as long
-       as the loop control variable is local & is not passed as parameter
-
-2001-12-24  Sandeep Dutta  <sandeep AT ddi.com>
-
-       * /sdcc/ChangeLog: *** empty log message ***
-
-       * /sdcc/src/ds390/gen.c, /sdcc/src/ds390/main.c:
-       More builtin function additions for TININative
-
-       * /sdcc/src/ds390/ralloc.c:
-       Had broken the regression testsuite
-
-       * /sdcc/src/SDCCast.c: Fixed a bug in dumptree
-
-       * /sdcc/src/SDCCsymt.c, /sdcc/src/SDCCsymt.h:
-       Added funcattr hasStackParms will be set for reentrant functions when there
-       are paramteres on the stack, this helps in minimizing frame pointer generation
-       typeFromStr can handle function pointers now
-
-       * /sdcc/doc/builtins.txt, /sdcc/doc/TININative.txt:
-       *** empty log message ***
-
-2001-12-24  Sandeep Dutta  <sandeep AT ddi.com>
-
-       * /src/ds390/gen.c, /src/ds390/main.c:
-       More builtin function additions for TININative
-
-       * /src/ds390/ralloc.c:
-       Had broken the regression testsuite
-
-       * /src/SDCCast.c: Fixed a bug in dumptree
-
-       * /src/SDCCsymt.c, /src/SDCCsymt.h:
-       Added funcattr hasStackParms will be set for reentrant functions when there
-       are paramteres on the stack, this helps in minimizing frame pointer generation
-       typeFromStr can handle function pointers now
-
-       * /doc/builtins.txt, /doc/TININative.txt:
-       *** empty log message ***
-
-
-2001-12-24  Sandeep Dutta  <sandeep AT ddi.com>
-
-       * /src/ds390/gen.c, /src/ds390/main.c, /src/ds390/peeph.def, /src/ds390/ralloc.c:
-       ALPHA version for -mTININative
-
-       * /src/izt/i186.c, /src/izt/tlcs900h.c, /src/mcs51/main.c, /src/pic/main.c, /src/z80/main.c, /src/avr/main.c:
-       updated to reflect changes in the port structure
-
-       * /src/port.h:
-       added function do_assemble (similar to do_link) if non-null this function
-       will be called to do assembly (-mTININative) requires a multi command
-       assembly
-       added function genAssemblerEnd will be called to generate assembler Epilogue
-
-       * /src/SDCCsymt.c:
-       added _JavaNative to debug info printing
-
-       * /src/SDCCmain.c: added option --tini-libid
-       added port->do_assemble function (-mTININative) has a multi command assemble
-
-       * /src/SDCCglue.c: Disabled "constExpr" check
-       added port->genAssemblerEnd function
-
-       * /src/SDCCglobl.h: Added option --tini-libid value
-
-       * /src/SDCCast.h:
-       tookout optimizeCompare from the header (has no external references)
-
-       * /src/SDCCast.c: made one more function "static"
-
-2001-12-23  Michael Hope  <michaelh AT juju.net.nz>
-
-       * src/z80/mappings.i: Added z80asm support.
-
-       * src/z80/main.c: Added z80asm support on --asm=z80asm
-
-       * src/z80/gen.c: Fixed asm portability issues.
-
-       * src/asm.c (tvsprintf): Removed old code, added 'N' for function name.  For extern support.
-
-       * src/SDCCglue.c (printExterns): Added global/extern split.
-
-2001-12-17  Bernhard Held  <bernhard AT bernhardheld.de>
-
-       * support/regression/Makefile: added test for mcs51 model large
-
-       * support/regression/ports/mcs51-large/spec.mk: added test for mcs51 model large
-
-       * support/regression/ports/gbz80/spec.mk: added -mgbz80
-
-2001-12-05  Michael Hope  <michaelh AT juju.net.nz>
-
-       * src/diff.1 (Index): Many, many optmisiations.  Dhrystone up to 201.
-
-1904-01-06  Michael Hope  <michaelh AT juju.net.nz>
-
-       * src/z80/ralloc.c (packRegsForIYUse): Fixed the case where an operand is in direct space.
-
-       * src/z80/gen.c (makeFreePairId): Optimised IY load by using a spare pair.
-
-2001-12-02  Bernhard Held  <bernhard AT bernhardheld.de>
-
-       * src/mcs51/gen.c (genFunction): avoid excess "inc sp"
-
-       * support/regression/tests/simplefloat.c: Port to mcs51.
-
-2001-11-25  Michael Hope  <michaelh AT juju.net.nz>
-       * support/regression/tests/bug-485362.c: Added.
-
-       * support/regression/tests/simplefloat.c (testDivNearOne): Added.
-
-       * src/z80/gen.c (aopOp): Fixed case where left and result are in the same spill loc and they have different sizes.
-
-       * src/z80/peeph.def: Added rules for optimising two byte compares on the same thing, and to optimise two ptr assign.
-
-       * src/z80/gen.c (aopDump): Added a dump function.
-
-2001-11-25  Bernhard Held  <bernhard AT bernhardheld.de>
-       * sim/ucsim/s51.src/glob.cc: DS390 SFRs and bits added.
-
-       * sim/ucsim/s51.src/port.cc: Port 4 and 5 added.
-
-       * sim/ucsim/s51.src/regs51.h: DS390 SFRs added.
-
-       * sim/ucsim/s51.src/uc390.cc: Some details improved, CKRDY works for tinibios.
-
-       * sim/ucsim/s51.src/uc390cl.h: Work in progress.
-
-       * sim/ucsim/sim.src/uccl.h: 6 ports for DS390.
-
-       * support/regression/fwk/lib/testfwk.c: Run with tinibios.
-
-       * support/regression/ports/mcs51/spec.mk: Fine tuninig.
-
-       * support/regression/ports/ds390/support.c: Use tinibios.
-
-       * support/regression/ports/ds390/spec.mk: Fine tuning, use tinibios.
-
-2001-11-23  Michael Hope  <michaelh AT juju.net.nz>support/regression/tests/bug-460010.c
-
-       * src/z80/ralloc.c (packRegsForHLUse3): Changed to not pack into HL if anything is in direct space.
-       (packRegsForHLUse3): Added packing support for send, cast, and return value from a call.
-
-       * src/z80/peeph.def: Added rules for optimising pushes of part of a pair.
-
-       * src/z80/gen.c (emitCall): Changed the stack fixup to not use HL.
-
-2001-11-18  Michael Hope  <michaelh AT juju.net.nz>
-
-       * src/z80/gen.c (genCmp): Fixed compare on unsigned.
-
-       * src/z80/ralloc.c (packRegsForHLUse3): Created and optimised.
-       (packRegsForIYUse): Created and optimised.
-
-2001-11-07  Michael Hope  <michaelh AT juju.net.nz>
-
-       * support/regression/tests/float.c (testFloatAdd): Fixed up warning.
-2001-11-18  Bernhard Held  <bernhard AT bernhardheld.de>
-
-       * sdcc/support/regression/tests/bug-460010.c: fix seg violation on host
-
-       * sdcc/support/regression/tests/muldiv.c: fix output on mcs51
-
-       * sdcc/support/regression/tests/stacks.c: fix DSEG overflow on mcs51
-
-2001-11-07  Bernhard Held  <bernhard AT bernhardheld.de>
-
-       * sdcc/sim/device/lib/_gptrget.c: mem region 5 (idata) added
-
-       * sdcc/sim/device/lib/_gptrput.c: mem region 5 (idata) added
-
-2001-11-07  Bernhard Held  <bernhard AT bernhardheld.de>
-
-       * sdcc/sim/ucsim/globals.cc: New: IXRAM.
-
-       * sdcc/sim/ucsim/stypes.h: New: IXRAM.
-
-       * sdcc/sim/ucsim/s51.src/uc390.cc: New: IXRAM.
-
-2001-11-07  Michael Hope  <michaelh AT juju.net.nz>
-
-       * src/z80/ralloc.c (packRegsForHLUse): Banned IFXs from being packed into HL.
-       (packRegsForHLUse): Added rule to pack address of/pointer get for itemps into HL for the Z80.
-       (packRegsForAccUse2): Added rule to pack hbit IFXs into A.
-
-       * src/z80/main.c (_setDefaultOptions): Made float code re-entrant by default.
-
-       * src/z80/gen.c (aopGetLitWordLong): Added word support for floats.
-       (genNotFloat): Added.
-       (genUminusFloat): Added.
-
-       * device/lib/z80/Makefile: Added floating pt stubs.
-
-       * device/lib/Makefile.in (Z80SOURCES): Added floating pt support.
-
-       * src/z80/gen.c (genIpush): Fixed up a push of one byte when left is in a pair.
-
-       * device/lib/_fsadd.c (__fsadd): Fixed up return where the numbers are hugely different.
-
-2001-11-07  Bernhard Held  <bernhard AT bernhardheld.de>
-
-       * sdcc/sim/ucsim/s51.src/glob.cc: Minor fix.
-
-       * sdcc/sim/ucsim/s51.src/regs51.h: Minor fix.
-
-       * sdcc/support/regression/Makefile: Add port ds390.
-
-       * sdcc/support/regression/ports/mcs51/spec.mk: Minor change.
-
-       * sdcc/support/regression/ports/z80/spec.mk: Minor change.
-
-       * sdcc/support/regression/ports/ds390/spec.mk: Added.
-
-       * sdcc/support/regression/ports/ds390/support.c: Added.
-
-       * sdcc/support/regression/ports/ds390/uCsim.cmd: Added.
-
-       * sdcc/support/regression/ports/mcs51/timeout.c: Cut.
-
-       * sdcc/support/regression/fwk/lib/timeout.c: Paste.
-
-2001-11-04  Michael Hope  <michaelh AT juju.net.nz>
-
-       * device/include/malloc.h: Added z80 and gbz80 support.
-
-       * device/lib/gbz80/heap.s: Added.
-
-       * device/lib/z80/heap.s: Added.
-
-       * device/lib/malloc.c: Added z80 and gbz80 support.
-
-       * support/regression/tests/malloc.c (testMalloc): Added.
-
-       * src/SDCCmain.c (parseCmdLine): Added support for -Wp.
-
-       * support/regression/tests/bug-478094.c: Added.
-
-       * src/z80/gen.c (commitPair): Fixed silly gbz80/z80 commit to static bug.
-
-2001-11-04  Bernhard Held  <bernhard AT bernhardheld.de>
-
-       * sdcc/sim/ucsim/s51.src/uc390cl.h: Improvement for ds390 to run regression tests
-
-        * sdcc/sim/ucsim/s51.src/uc390.h: Improvement for ds390 to run regression tests
-
-        * sdcc/sim/ucsim/s51.src/regs51.h: Improvement for ds390 to run regression tests
-
-        * sdcc/sim/ucsim/s51.src/glob.cc: Improvement for ds390 to run regression tests
-
-       * sdcc/support/regression/tests/bug-460010.c: Small change for ds390
-
-2001-11-04  Michael Hope  <michaelh AT juju.net.nz>
-
-       * src/z80/peeph-gbz80.def: Removed a bad sub optimisation.
-
-2001-11-03  Michael Hope  <michaelh AT juju.net.nz>
-
-       * support/regression/tests/bug-477927.c: Added.
-
-       * src/z80/peeph.def: Added minor rules.
-
-       * src/z80/gen.c (genPlusIncr): Added an extra plusinc rule.
-
-       * src/z80/peeph.def: Added jump optimisation modification.
-
-2001-11-01  Michael Hope  <michaelh AT juju.net.nz>
-
-       * src/SDCCmain.c (linkEdit): Added runtime path detection to the mcs51 port.
-
-2001-10-30  Michael Hope  <michaelh AT juju.net.nz>
-
-       * support/regression/tests/funptrs.c: Added.
-
-2001-10-29  Michael Hope  <michaelh AT juju.net.nz>
-
-       * src/z80/ralloc.c (packRegsForHLUse): Fixed up bad spill due to pushing one byte via HL.
-
-2001-10-28  Michael Hope  <michaelh AT juju.net.nz>
-
-       * src/z80/gen.c (genArrayInit): Made it work for on stack arrays.
-
-       * src/z80/main.c (gbz80_port =): Added rle support to the gbz80 port.
-
-       * src/z80/gen.c (genMinus): Fixed for where the result is one byte.
-       (movLeft2ResultLong): Created.
-
-       * src/z80/ralloc.c (packRegsForHLUse): Added a couple of simple cases for the GB.
-       (joinPushes): Added.  Joins two char pushes into a word push.
-
-2001-10-27  Michael Hope  <michaelh AT juju.net.nz>
-
-       * support/cpp2/Makefile.in (install): Added creation of dest dir.
-
-       * support/makebin/Makefile (install): Added creation of dest dir.
-
-2001-10-24 Karl Bongers <karl AT turbobit.com>
-
-       * configure.in, configure, Makefile, support/cpp: Removed cpp folder, since we have new cpp2 preprocessor code.
-
-2001-10-21  Michael Hope  <michaelh AT juju.net.nz>
-
-       * src/z80/ralloc.c: Turned off faulty pack for one use.
-
-       * src/z80/peeph-gbz80.def: Removed redundent restart options.
-
-       * src/z80/gen.c (genMult): Added native mul for constants on the z80 and gbz80.
-
-2001-10-21  Bernhard Held  <bernhard AT bernhardheld.de>
-
-       * support/regression/Makefile: Improved clean
-
-       * support/regression/ports/gbz80/spec.mk: Added clean
-
-       * support/regression/ports/host/spec.mk: Added clean
-
-       * support/regression/ports/z80/spec.mk: Added clean
-
-       * support/regression/ports/mcs51/spec.mk: Added clean, little improvements
-
-       * support/regression/ports/mcs51/timeout.c: little improvements
-
-2001-10-17  Michael Hope  <michaelh AT juju.net.nz>
-
-       * device/lib/malloc.c (MEMHEADER): Fixed against new pedantic pointers.
-
-       * support/regression/fwk/include/testfwk.h: Fixed up to use function pts correctly.
-
-       * support/regression/generate-cases.py: Fixed up to use function pts correctly.
-
-2001-10-16  Bernhard Held  <bernhard AT bernhardheld.de>
-
-       * support/regression/port/mcs51/spec.mk: add timeout for uCsim
-
-       * support/regression/port/mcs51/timeout.c: add timeout for uCsim
-
-2001-10-13  Michael Hope  <michaelh AT juju.net.nz>
-       * src/z80/gen.c (emitCall): Fixed up missing spill of HL when used to assign the result value.
-
-       * src/z80/ralloc.c: Turned off pack for one use as it's quite broken.
-
-       * src/SDCCmain.c (linkEdit): Added support for passing a legacy command line through the processor.
-
-       * src/mcs51/main.c (_linkCmd): Added bin path to command.
-
-       * src/SDCCmain.c (initValues): Added support for when it it called just to link.
-
-       * as/mcs51/lklibr.c (libfil;): Turned off 'library file' message.
-
-       * src/SDCCval.c (constVal): Fixed usage of 'L' modifier problems on ppc.
-
-       * support/regression/tests/longor.c: Added.
-
-2001-10-11  Bernhard Held  <bernhard AT bernhardheld.de>
-
-       * as/mcs51/asdata.c: replaced FILENAME_MAX with PATH_MAX
-
-       * as/mcs51/aslink.h: define PATH_MAX
-
-       * as/mcs51/asm.h: define PATH_MAX
-
-       * as/mcs51/asmain.c: replaced FILENAME_MAX with PATH_MAX
-
-       * as/mcs51/asnoice.c: replaced FILENAME_MAX with PATH_MAX
-
-       * as/mcs51/lklex.c: replaced FILENAME_MAX with PATH_MAX
-
-       * as/mcs51/lkmain.c: replaced FILENAME_MAX with PATH_MAX
-
-       * src/SDCCglobl.h: define PATH_MAX
-
-       * src/SDCCmacro.c: replaced FILENAME_MAX with PATH_MAX
-
-       * src/SDCCmain.c: replaced FILENAME_MAX with PATH_MAX
-
-2001-10-11  Michael Hope  <michaelh AT juju.net.nz>
-
-       * src/z80/gen.c (gencjneshort): Fixed
-
-       * src/z80/ralloc.c (packRegsForHLUse): Added pack into HL for cast then ipush.
-
-2001-10-09  Michael Hope  <michaelh AT juju.net.nz>
-
-       * support/regression/tests/bug-469671.c: Added.
-
-       * src/z80/gen.c (shiftIntoPair): Fixed up warning.
-
-2001-10-08  Michael Hope  <michaelh AT juju.net.nz>
-
-       * src/SDCCmain.c: Added --fommit-frame-pointer option and implemented in the z80 port.
-
-       * src/z80/gen.c (genPlus): Fixed to work with extended stack.  Also fixed genMinus, genCmp.  genUMinus is still left.
-
-2001-10-08  Bernhar Held  <bernhard AT bernhardheld.de>
-
-       * src/SDCCmain.c (preProcess): added define SDCC_NOOVERLAY
-
-       * src/device/lib/_mulint.c  : removed hint: nooverlay bug
-
-       * src/device/lib/_mullong.c : removed hint: nooverlay bug
-
-       * src/device/lib/_divuint.c : removed hint: nooverlay bug
-
-       * src/device/lib/_divulong.c: removed hint: nooverlay bug
-
-       * src/device/lib/_moduint.c : removed hint: nooverlay bug
-
-       * src/device/lib/_modulong.c: removed hint: nooverlay bug
-
-2001-10-07  Michael Hope  <michaelh AT juju.net.nz>
-
-       * src/z80/gen.c (setupPair): Added 'extended stack' support for the z80.  Can now have local variables or parameters of more than 127 bytes in size.  Increadibly slow, but it will work.  Currently anything involving the carry flag.
-
-       * support/Util/NewAlloc.c (freeTrace): Changed free for the gc case to not free at all.  Fixes runtime segfault.
-
-       * support/regression/tests/scott-compare3.c (c_abcd): Fixed up casts.
-
-2001-10-07    <johan AT FRIJA>
-
-       * device/lib/gets.c (gets): fixed the return value.
-
-2001-10-06  Michael Hope  <michaelh AT juju.net.nz>
-       * src/SDCCmain.c (WRITE_SEG_LOC): Fixed up to use Safe_strdup.
-
-       * src/SDCCpeeph.c (peepHole): Fixed all leaks.  Added trace support for freeing lines.  Optimised restart logic to re-run instead of restart.  Now compiles dscan.c on ~60MB instead of ~200MB.
-
-       * support/Util/NewAlloc.c: Added ability to use libgc instead of malloc.  Added Safe_free and Safe_strdup.  Added trace support where you can log allocations and free all at once.
-
-       * src/z80/gen.c (genZ80Code): Added de-allocation via trace support.
-
-       * src/pic/gen.c: Removed Safe_strdup.
-
-       * configure.in: Added option to enable libgc support.
-
-       * src/SDCCbitv.c (bitVectnBitsOn): Optimised.
-       (bitVectUnion): Optimised.
-       (bitVectIntersect): Optimised.
-       (bitVectBitsInCommon): Optimised.
-       (bitVectCplAnd): Optimised.
-
-       * support/makebin/makebin.c (usage): Removed getopt as mingw32 doesn't have it.  Sigh.
-
-2001-10-03 Bernhard Held <bernhard AT bernhardheld.de>
-
-       * src/SDCCmain.c: distinguish between assembler debug and plain options
-
-       * src/avr/main.c:   remove standard assembler options
-
-       * src/ds390/main.c: remove standard assembler options
-
-       * src/mcs51/main.c: remove standard assembler options
-
-       * src/port.h: removed "PENDING" comment
-
-2001-10-03 Bernhard Held <bernhard AT bernhardheld.de>
-
-       * src/device/lib/_mulint.c  : new, with assember functions
-
-       * src/device/lib/_mullong.c : new, with assember functions
-
-       * src/device/lib/_divuint.c : with assember functions
-
-       * src/device/lib/_divsint.c : with assember functions
-
-       * src/device/lib/_divulong.c: with assember functions
-
-       * src/device/lib/_divslong.c: with assember functions
-
-       * src/device/lib/_moduint.c : with assember functions
-
-       * src/device/lib/_modsint.c : with assember functions
-
-       * src/device/lib/_modulong.c: with assember functions
-
-       * src/device/lib/_modslong.c: with assember functions
-
-       * src/device/lib/libint.lib:  replaced _muluint.c  and _mulsint.c  by _mulint.c
-
-       * src/device/lib/liblong.lib: replaced _mululong.c and _mulslong.c by _mullong.c
-
-       * src/device/lib/Makefile.in: replaced _muluint.c  and _mulsint.c  by _mulint.c
-                                     replaced _mululong.c and _mulslong.c by _mullong.c
-
-2001-10-03 Bernhard Held <bernhard AT bernhardheld.de>
-
-       * src/SDCCsymt.c: sequence of specifiers in pintTypeChain() corrected
-
-2001-10-01 Bernhard Held <bernhard AT bernhardheld.de>
-
-       * src/SDCCglue.c: test, if win32api is available for MINGW
-
-2001-10-01 Bernhard Held <bernhard AT bernhardheld.de>
-
-       * src/SDCCsymt.c: no more _modifier in printTypeChain()
-       * support/regression/tests/driverstruct.c: REENTRANT for mcs51
-       * support/regression/ports/gbz80/spec.mk: removed GENERIC
-       * support/regression/ports/host/spec.mk: removed GENERIC
-       * support/regression/ports/mcs51/spec.mk: removed GENERIC
-       * support/regression/ports/z80/spec.mk: removed GENERIC
-
-2001-10-01  Michael Hope  <michaelh AT juju.net.nz>
-
-       * support/regression/fwk/lib/testfwk.c (__printf): Removed GENERIC.
-
-       * support/regression/tests/bug-467035.c: Created.
-
-2001-10-01    <johan AT FRIJA>
-
-       * src/SDCC.y: fixed bug #466586 part 1
-
-2001-10-01  Johan Knol <johan.knol AT iduna.nl>
-
-       * SDCCicode.c: z80 has no generic pointers
-       * removed -s from strip in all Makefile(.in)'s. It is not needed, but Solaris chocks on it.
-
-2001-09-30  Michael Hope  <michaelh AT juju.net.nz>
-
-       * sim/ucsim/cmd.src/Makefile.in ($(PRJDIR)/libcmd.a): Changed all ar references to $(AR) for Solaris.
-
-2001-09-29  Michael Hope  <michaelh AT juju.net.nz>
-
-       * Makefile (sdcc-libs): Added makebin to the list of standard targets.
-
-       * support/regression/ports/z80/spec.mk: Updated to use env for sdcc bin dir for automatic regression.
-
-2001-09-25  Michael Hope  <michaelh AT juju.net.nz>
-
-       * configure.in: Fixed up so that ucsim is only configured once.
-
-       * support/cpp2/configure.in: Fixed to use the program transform to append the .exe for the win32 build.
-
-       * src/SDCCutil.c (getPrefixFromBinPath): Fixed up to work with win32 in all of its glory.
-       (getPathDifference): As above.
-
-       * src/SDCCmain.c (preProcess): Changed to use a temporary file in a proper temp directory.  Fixed case where pre-processing only.
-
-       * src/SDCCglue.c (tempfilename): Added function for pre-processor.
-
-2001-09-23  Michael Hope  <michaelh AT juju.net.nz>
-       * .version: Updated to 2.3.1
-
-       * src/z80/main.c (z80_port =): Added macro based linker and assembler command line support.
-       Added copyright header.
-
-       * src/SDCCmain.c: Shifted various functions into SDCCutil.c
-       (assemble): Added support for macro based assembler commands.
-       (linkEdit): Added support for macro based linker commands.
-       (preProcess): Changed the pre-processor to use macros.
-       (_setPaths): Added functionality to autodetect the include, lib and bin dir paths.
-       (_discoverPaths): Added support for overriding the install directory using the SDCCDIR env variable.
-
-       * device/lib/z80/crt0.s: Added module name for debugging.
-
-2001-09-20  Michael Hope  <michaelh AT juju.net.nz>
-
-       * src/SDCCmain.c (printVersionInfo): Added the build date to the version info.
-
-       * src/SDCChasht.c (hTabDeleteByKey): Fixed delete as it would delete the last item from a bucket even if it wasn't the real one.
-
-       * src/SDCCglue.c: Moved gc_strdup to SDCCutil.c
-
-       * src/Makefile.in: Added SDCCmacro and SDCCutil
-
-2001-09-19  Michael Hope  <michaelh AT juju.net.nz>
-
-       * src/SDCCmain.c (printVersionInfo): Added the build date to the version info.
-
-2001-09-16    <johan AT FRIJA>
-
-       * support/Util/SDCCerr.c: fixed up the error/warning/info database. I only changed the E_ W_ I_ prefix to what SDCCerr.c says it is.
-
-2001-09-15    <johan AT FRIJA>
-
-       * src/mcs51/ralloc.c: (findAssignToSym): fixed bug #460662 part 1
-       * src/ds390/ralloc.c (findAssignToSym): fixed bug #460662 part 1
-
-2001-09-11    <johan AT FRIJA>
-
-       * src/SDCCval.c (valDiv Mod Minus Plus Shift): keep litteral expressions as small as possible (bug #460010)
-
-2001-09-10  Michael Hope  <michaelh AT juju.net.nz>
-
-       * support/regression/tests/bug-460444.c: Added test case.
-
-       * src/z80/gen.c (genOr): bug 460444: if (a ^ lit) was broken for &, |, and ^.
-       (genCast): Added justification for all of the asserts.
-
-2001-09-10  Bernhard Held <bernhard AT bernhardheld.de>
-
-       * support/regression/support.c: _xdata replaced by xdata
-
-       * support/regression/spec.mk: removed _generic
-
-2001-09-09  Michael Hope  <michaelh AT juju.net.nz>
-
-       * src/pic/ralloc.c (debugLogRegType): Removed some old types to get it to compile.
-
-       * src/z80/gen.c (shiftR2Left2Result): Improved the case when v = v >> n for small values of n to use less code space and time.
-       (genrshTwo): Fixed v = v >> n where v is a negative int and n is > 8: bug 460010.
-
-       * src/z80/peeph.def: Added a rule to optimise shift then compare.
-
-       * support/regression/tests/bug-460000.c (testShiftByParam): Added test case.
-
-       * support/regression/tests/bug-460010.c: Added test case.
-
-       * support/regression/Makefile (test-host): Removed a silly 'clean' target when testing against gcc.
-
-2001-09-09  Bernhard Held <bernhard AT bernhardheld.de>
-
-       * support/regression/Makefile: inter-port-clean adjusted for mcs51
-
-       * support/regression/testfwk.c: removed workaround for bug #436344
-
-       * support/regression/tests/bp.c: use less memory with mcs51
-
-       * support/regression/tests/bug-441448.c: use less memory
-
-       * support/regression/tests/ports/mcs51/spec.mk: cleanup, use --stack-after-data
-
-       * support/regression/collate-results.py: typo
-
-2001-09-08  Michael Hope  <michaelh AT juju.net.nz>
-
-       * support/regression/tests/fetchoverlap.c: Added new test case.
-
-       * support/regression/tests/bp.c: Added new test case.
-
-       * support/regression/tests/bug-448984.c: Added new test case.
-
-       * support/regression/tests/pow2shifts.c: Added new test case.
-
-       * src/z80/gen.c: Turned off the noise it normally generates for the release.
-       (genlshTwo): Fixed right shift for count > 8.
-
-       * src/z80/ralloc.c: Disabled most of the ACC packing rules as they weren't getting hit and weren't at all safe.
-
-2001-09-08    <johan AT FRIJA>
-
-       * src/SDCCicode.c (geniCodeCall): a CPOINTER can be used as a function
-
-2001-09-07    <johan AT FRIJA>
-
-       * src/SDCCicode.c (newiCodeCondition): fixed bug #456235 (1.77)
-
-       * src/SDCCglue.c (emitRegularMap): only delete a symbol when it is a symbol
-
-2001-09-06    <johan AT FRIJA>
-
-       * src/SDCC.y: this could be a fix for bug #458744 (1.37)
-       * bernhard noted me at this: "() equals to (void)" (1.38)
-
-2001-09-05    <johan AT FRIJA>
-
-       * src/SDCCglue.c (emitRegularMap): a fix for bug #458099/2
-
-2001-09-04    <johan AT FRIJA>
-
-       * src/SDCCsymt.c (checkSClass): a fix for bug #458099/1
-
-
-2001-09-04  Paul Stoffregen  <paul AT pjrc.com>
-
-       * pragma noinduction broke memcpy on mcs51 large model.  Moved it inside z80 optimization
-
-2001-09-03  Michael Hope  <michaelh AT juju.net.nz>
-
-       * link/z80/aslink.h: Fixed path for PATH_MAX
-
-2001-09-02  Michael Hope  <michaelh AT juju.net.nz>
-
-       * src/z80/gen.c (fetchLitPair): Changed so that it properly caches direct space references.
-
-       * support/regression/tests/addsub.c: Added cases to cover all the +, - combinations.
-
-       * support/regression/tests/uminus.c: Added a test for the unary minus operator.
-
-       * src/z80/gen.c (genUminus): Fixed add, sub, and uminus on the gbz80 port for longs.  Had to shift some functions about to do it.
-
-2001-09-01  Michael Hope  <michaelh AT juju.net.nz>
-
-       * src/z80/gen.c: Fixed up generator to pass the regresion tests, specifically fixing loads for longs, genCmp, and turned on the map file.
-       (genCmp): Fixed up genCmp for the GB with longs.
-
-       * device/lib/gbz80/Makefile: Fixed up all the libraries to pass the regression tests.
-
-       * support/regression/ports/host/spec.mk: Updated to compile with the new type specifiers.
-
-       * device/lib/Makefile.in (Z80SOURCES): Removed old _mululong, _mulslong, and unneeded _mulint.
-
-       * device/lib/_mullong.c (_mulslong): Changed to actually return a value :)
-
-2001-08-30  Paul Stoffregen  <paul AT pjrc.com>
-
-       * added peepholes 223 to 231 to mcs51 port.  These improve code when using large model.
-
-2001-08-30  Michael Hope  <michaelh AT juju.net.nz>
-
-       * device/lib/gbz80/crt0.s (init): Fixed up support for the gbz80 such that it will at least run (and fail badly) the regression tests.
-
-       * src/z80/gen.c (genPlus): Changed bad long add for gb to a fall through.
-
-2001-08-29  Michael Hope  <michaelh AT juju.net.nz>
-
-       * link/z80/aslink.h: Fixed long file name support.  Is now based off PATH_MAX instead of a constant.
-
-       * src/z80/gen.c: Fixed add and sub for the case where left or right are in static space.
-
-2001-08-30 Bernhard Held   <bernhard AT bernhardheld.de>
-
-  * sim/ucsim/configure:    little improvement of Cygwin-detection
-  * sim/ucsim/configure.in: little improvement of Cygwin-detection
-  * sim/ucsim/cmd.src/newcmdcl.h: include <sys/types.h> to define fd_set automated build
-  * support/regression/tests/bug-221100.c: small changes for mcs51
-  * support/regression/tests/bug-221168.c: small changes for mcs51
-  * support/regression/tests/bug-227710.c: small changes for mcs51
-  * support/regression/tests/staticinit.c: small changes for mcs51
-  * as/mcs51/aslink.h: accept everything as symbol name in rel-files, bug fix ID 452601
-  * as/mcs51/lklex.c:  accept everything as symbol name in rel-files, bug fix ID 452601
-  * as/mcs51/lksym.c:  accept everything as symbol name in rel-files, bug fix ID 452601
-
-$Revision$
-
index 844b120ee7264a72687ccc1b866194ebb97b19a8..b5a81c6004ed3800e04951adc389033baeadd36d 100644 (file)
@@ -15,7 +15,7 @@ CC = $(SCC)
 AS = $(SAS)
 ASFLAGS = -plosgff
 
-CFLAGS = -I../../include -I.
+CFLAGS = -I$(srcdir)/../../include -I.
 
 all: $(LIB)
 
index a4291536324a1fa9c8e7db53feaf602a000df6fa..f15d02eeb7d309d550a9ded87ddc3318cd2807d6 100644 (file)
@@ -7,7 +7,7 @@ CP = @CP@
 RM = @RM@
 RMDIR = @RMDIR@
 
-CPPFLAGS = -I../../../include/pic
+CPPFLAGS = -I$(srcdir)/../../../include/pic
 
 C_SRC = $(wildcard pic16*.c)
 OBJS = $(C_SRC:.c=.o)