+2004-10-17 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