* as/hc08/aslex.c,
[fw/sdcc] / ChangeLog
index ea242ced697ff1669ab1b81e296ff58634e8f164..0e4e6e4889c5aaa10e115ecbdbf0762645c82f98 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
+2006-01-28 Bernhard Held <bernhard AT bernhardheld.de>
+
+       * src/ds390/gen.c (unsaveRegisters): fixed literal function pointer
+       ((void (code *) (void)) 0) ();
+       * as/hc08/aslex.c,
+       * as/hc08/aslink.h,
+       * as/hc08/asm.h,
+       * as/hc08/asmain.c,
+       * as/hc08/lkdata.c,
+       * as/hc08/lklex.c,
+       * as/hc08/lkmain.c,
+       * as/mcs51/aslex.c,
+       * as/mcs51/aslink.h,
+       * as/mcs51/asm.h,
+       * as/mcs51/asmain.c,
+       * as/mcs51/lkdata.c,
+       * as/mcs51/lklex.c,
+       * as/mcs51/lkmain.c,
+       * as/z80/aslex.c,
+       * as/z80/asm.h,
+       * as/z80/asmain.c: fixed build on current cygwin:
+       replaced getline() by as_getline()
+
+2006-01-27 Bernhard Held <bernhard AT bernhardheld.de>
+
+       * src/SDCC.y: fixed bug #716242, exchanged pointer and function
+       declarator in the symbol chain
+       * src/SDCCsymt.h,
+       * src/SDCCsymt.c (processFuncPtrArgs): added, removes "(void)"
+       parameter list for function pointers
+       * src/SDCCast.c (decorateType): added call of processFuncPtrArgs()
+       * support/regression/tests/bug-716242.c: added
+
+2006-01-20 Bernhard Held <bernhard AT bernhardheld.de>
+
+       * src/SDCCicode.c (geniCodeAdd, geniCodeArray): use char for array
+       offset if possible
+       * src/SDCCast.c (getLeftResultType): 255 fits in char, not 256
+
+2006-01-18 Bernhard Held <bernhard AT bernhardheld.de>
+
+       * src/SDCCast.c (backPatchLabels): fixed bug #1408066: made it
+       inifinitely recurseable, added static   
+       * support/regression/tests/bug-1408066.c: added
+
+2006-01-17 Bernhard Held <bernhard AT bernhardheld.de>
+
+       * src/SDCCicode.h,
+       * src/SDCCicode.c (newiTempPreheaderLabel, newiTempLoopHeaderLabel):
+       renamed, added possibility to create "postLoopLbl"-labels
+       * src/SDCCBBlock.c (iCodeBreakDown): renamed newiTempPreheaderLabel to
+       newiTempLoopHeaderLabel
+       * src/SDCCloop.c (newInduction, newRegion, backEdges, insertIntoLoop,
+       isNotInBlocks, addToExitsMarkDepth, createLoop, dominatedBy,
+       addDefInExprs, assignmentsToSym, isOperandInvariant, pointerAssigned,
+       hasNonPtrUse, loopInvariants, addressTaken, findInduction,
+       findDefInRegion, mergeRegions, ifMerged, mergeInnerLoops): made static,
+       (pinduction, pregion, hasIncomingDefs, findLoopEndSeq): disabled,
+       (basicInduction): fixed bug #136564, made static,
+       (loopInduction): changed parameter of basicInduction, made static,
+       (addPostLoopBlock): added
+       * src/SDCCloop.h: removed backEdges, pregion, pinduction,
+       loopOptimizations, addressTaken, findDefInRegion, hasIncomingDefs,
+       findLoopEndSeq
+       * support/regression/tests/bug-136564.c: added
+       * support/regression/ports/mcs51-xstack-auto/spec.mk: added
+       --std-sdcc99 to LIBSDCCFLAGS
+
+2006-01-16 Bernhard Held <bernhard AT bernhardheld.de>
+
+       * src/SDCCicode.c (geniCodeIfx): fix bug 1406131: always false
+       while loop
+       * support/regression/tests/bug-1406131.c: added
+
+2005-12-31 Bernhard Held <bernhard AT bernhardheld.de>
+
+       * src/SDCCast.c (decorateType): fix promotion of unary minus
+       * src/SDCCsymt.c (computeType): beautified
+       * src/SDCCval.c (cheapestVal): beautified, old non-Ansi version removed,
+       (valUnaryPM, valComplement): fix sign and promotion,
+       (valNot): ANSI: result type is int (SDCC: unsigned char)
+       * support/regression/tests/uminus.c: speedup by removing superflous
+       test case 'int'
+       * support/regression/tests/onebyte.c: added promotion and signedness
+       tests for unary minus
+       * support/regressions/tests/bug-477927.c: disable warning about
+       uninitialized variables
+       * support/regression/tests/not.c: added
+
+2005-12-28 Bernhard Held <bernhard AT bernhardheld.de>
+
+       * device/lib/Makefile.in: added --std-sdcc99 to CFLAGS
+       * src/mcs51/gen.c (gen51Code): show final register usage after
+       fillGaps in asm with --i-code-in-asm
+       * src/SDCClrange.c (sequenceiCode, setLiveFrom, setLiveTo,
+       markLiveRanges, markAlive, findNextUseSym, findNextUse, unvisitBlocks,
+       incUsed, rliveClear, adjustIChain): made static,
+       (setFromRange): excluded because it's unused,
+       (findPrevUseSym, markWholeLoop): added,
+       (findPrevUse): rewritten; fixes bug 895992; now a complete search
+       through all branches of predecessors enables sdcc to emit the warning
+       W_LOCAL_NOINIT, marking of outermost loop was incomplete,
+       (rlivePoint): made static, added parameter emitWarnings which is only
+       true during the first run out of two,
+       (findRecursiveSucc, findRecursivePred): removed,
+       (computeLiveRanges): made static, added parameter emitWarnings,
+       (dumpIcRlive): added for debugging only
+       * src/SDCClrange.h: added boolean parameter to computeLiveRanges(),
+       removed prototype of setFromRange()
+       * src/SDCCopt.c (eBBlockFromiCode): added new parameter emitWarnings
+       in call of computeLiveRanges()
+       * support/regression/tests/bug-895992.c: added
+       * support/regression/tests/bug-971834.c: added
+       * support/valdiag/tests/bug-895992.c: added
+       * support/valdiag/tests/bug-971834.c: added
+
+2005-12-18 Raphael Neider <rneider AT web.de>
+
+       * src/pic16/gen.c: added IS_DIRECT macro for "direct" operands,
+         (genUnpackBits): improved code for direct operands,
+         (genPackBits): improved code for literal assignment to bitfields
+           and for direct destination operands (no FSR indirection),
+           prevented redundant AND, fixes #1362800,
+         (AccLsh): added parameter to disable masking of the result
+       * src/pic16/pcode.c (pic16_safepCodeUnlink): fixed to work with
+         skip instructions with side-effects (like incfsz),
+         (pic16_pCodeIsAlive): suppress verbose output unless pcode_verbose,
+       * src/pic16/pcoderegs.c (RemoveRegsFromSet): removed annoying warning
+       * device/lib/pic16/Makefile.common.in: added --asm=@GPASM@ to CC,
+         fixes #1375263
+
+2005-12-11 Bernhard Held <bernhard AT bernhardheld.de>
+
+       * src/SDCCicode.c (geniCodeAssign): fixed bug 11369874, don't use
+       volatile variables as spill location
+
+2005-12-10 Bernhard Held <bernhard AT bernhardheld.de>
+
+       * src/SDCCcse.c (findCheaperOp): fixed bug 1376320, copy signedness to
+       replacing literals
+       * support/regression/tests/bug-1376320.c: added
+
+2005-12-08 Raphael Neider <rneider AT web.de>
+
+       * src/pic/device.c: renamed is_shared to pic14_is_shared
+       * src/pic/gen.c (genIfx): re-enabled handling of sbits
+       * src/pic/glue.c (emitSymbolToFile): added workaround for sbits,
+         (is_valid_identifier): added for above workaround
+
+2005-12-07 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * device/lib/Makefile.in: fixed to enable port-specific-objects
+       * device/lib/ds390/i2c390.c (BitOutI2C): optimized by making bout unsigned
+         char, thanks Hubert Sack
+       * doc/sdccman.lyx: documented --xstack-loc,
+         elaborated a bit more on interrupts and pitfalls,
+         removed "setjmp/longjmp unsupported",
+         documented some unsupported C99 features
+       * src/SDCCmain.c (linkEdit): adapted default lib path for --stack-auto
+       * src/SDCCpeeph.c (readRules): inserted patch 1367130 for finding missing
+         if, thanks Hubert Sack
+       * src/mcs51/gen.c (genEndFunction): enabled "pop psw" for regbank 0 isr
+       * support/regression/Makefile.in: test-mcs51-stack-auto no longer needs to
+         make make_library
+       * support/regression/get_ticks.py: new, get cpu cycles and code size, so
+         regression tests can report resource usage (rfe 700441)
+       * support/regression/collate-results.py: report resource usage
+       * support/regression/ports/ds390/spec.mk,
+       * support/regression/ports/hc08/spec.mk,
+       * support/regression/ports/mcs51/spec.mk,
+       * support/regression/ports/ucz80/spec.mk: run sim output through get_ticks
+       * support/regression/ports/ds390/uCsim.cmd,
+       * support/regression/ports/hc08/uCsim.cmd,
+       * support/regression/ports/mcs51/uCsim.cmd,
+       * support/regression/ports/ucz80/uCsim.cmd: inserted "state" to report time
+       * support/regression/ports/mcs51-stack-auto/spec.mk: no need to build the
+         library, use the default one
+       * support/regression/ports/mcs51-xstack-auto/spec.mk: inserted rules for
+         building the library
+
+2005-12-06 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * config.dsp: added dependency on .version and configure_vc.awk
+       * device/include/setjmp.h: updated for --stack-auto and --xstack
+       * device/include/mcs51/at89c51snd1c.h: corrected line endings
+       * device/include/mcs51/XC866.h: added, thanks Llewellyn van Zyl
+       * device/lib/_setjmp.c: updated for --stack-auto and --xstack
+       * device/lib/libsdcc.lib: added _setjmp
+       * src/SDCCast.c (createIvalCharPtr): fixed warnings,
+         (decorateType): fixed bug 1372851,
+         (optimizeGetHbit): fixed warning
+       * src/SDCCglue.c (printIvalChar, printIvalArray): adapted for flexible
+         array initialisation
+       * support/regression/tests/bug1057979.c: added test for bug 1358192
+       * support/regression/tests/setjmp.c: added, test for setjmp/longjmp
+
+2005-12-03 Borut Razem <borut.razem AT siol.net>
+
+       * support/scripts/sdcc.nsi: added /SOLID option to "SetCompressor lzma"
+         command since the NSIS was upgraded to version 2.11 on CF x86-linux2
+
+2005-11-29 Bernhard Held <bernhard AT bernhardheld.de>
+
+       * src/SDCCast.c (createIvalStruct, createIvalArray, createIvalPtr,
+       createIval): implement symbol independant "flexible array member",
+       (createIvalCharPtr): implemented flexible array initialisation with a
+       string
+       * src/SDCCsymt.c (copyStruct): removed,
+       (getSize): fixed misleading comment,
+       (getAllocSize): removed, the additional allocation size is now in
+       sym->flexArrayLength,
+       (checkStructFlexArray): new, syntax checks for flexible array members,
+       (compStructSize): added syntax checks for "flexible array members"
+       (copyStruct): removed,
+       (copyLinkChain): removed inefficient fix for bug 770487
+       * src/SDCCglue.c (emitRegularMap): getAllocSize has been removed
+       * src/SDCCsymt.h: added structdef.b_flexArrayMember and
+       symbol->flexArrayLength
+       * src/SDCCerr.c,
+       * src/SDCCerr.h: added W_INVALID_FLEXARRAY, W_C89_NO_FLEXARRAY,
+       E_FLEXARRAY_NOTATEND and E_FLEXARRAY_INEMPTYSTRCT
+       * support/regression/tests/structflexarray.c: added
+       * support/valdiag/tests/structflexiblearray.c: added
+
+2005-11-29 Bernhard Held <bernhard AT bernhardheld.de>
+
+       * src/SDCCast.c (decorateType): fixed bug 1368489
+       * support/Util/SDCCerr.c,
+       * support/Util/SDCCerr.h: added warning W_CMP_SU_CHAR
+
+2005-11-28 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
+
+       * device/include/mcs51/at89c51snd1c.h: added file submitted by
+         Weston T. Schmidt <schmidtw AT users.sourceforge.net>, patch #1368001
+
+2005-11-27 Borut Razem <borut.razem AT siol.net>
+
+       * support/cpp2/cppinit.c, support/cpp2/cpplib.h, support/cpp2/mkdeps.c,
+         support/cpp2/mkdeps.h: added command line option
+         -obj-ext=<extension> to SDCPP to define object file externion, used
+         for generation of make dependencies (-M)
+       * src/SDCCmain.c: pass -obj-ext=<extension> to SDCPP
+
+2005-11-26 Borut Razem <borut.razem AT siol.net>
+
+       * support/scripts/sdcc.nsi: added small-stack-auto libraries,
+         added missing device/lib/mcs51/crt*.asm, pic and pic16 sources,
+         added pic and pic16 libraries
+
+2005-11-26 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
+
+       * device/include/float.h: Corrected typo in prototype of __fsgt
+
+2005-11-25 Borut Razem <borut.razem AT siol.net>
+
+       * sdcc/device/lib/Makefile.in, sdcc/device/lib/incl.mk:
+         added creation of model-mcs51-stack-auto libraries
+
+2005-11-24 Bernhard Held <bernhard AT bernhardheld.de>
+
+       * src/SDCCsymt.c (copyLinkChain): fixed bug 770487, copy structdef
+       and fields-list too
+       * src/SDCCast.c (createIvalArray): removed obsolete comment
+
+2005-11-24 Borut Razem <borut.razem AT siol.net>
+
+       * sdcc/device/lib/Makefile.in: remove all unnecessary files, 2nd try...,
+         added missing device/lib/mcs51/crt*.asm sources
+
+2005-11-23 Bernhard Held <bernhard AT bernhardheld.de>
+
+       * src/SDCCast.c (createIvalCharPtr): fixed bug 1348271
+
+2005-11-22 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * device/lib/_fs2schar.c,
+       * device/lib/_fs2sint.c,
+       * device/lib/_fs2slong.c: optimized inline asm
+
+2005-11-21 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
+
+       * device/lib/_fs2slong.c, device/lib/_fs2sint.c, device/lib/_fs2char.c:
+         Better handling of floats between -1.0 and 0.0.
+
+2005-11-20 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
+
+       * src/mcs51/peeph.def: added missing "if"s as noted by Hubert Sack.
+         (the missing "if"s prohibited removal of redundant labels)
+
+2005-11-19 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
+
+       * device/lib/_fs2slong.c, device/lib/_fs2sint.c, device/lib/_fs2char.c:
+         Properly convert floats between -1.0 and 0.0 to long, int, and char
+         types (max integer value of negative floats tends to zero).
+       * device/lib/modff.c, device/lib/ceilf.c, device/lib/floorf.c:
+         Removed changes made so to work properly with floats between
+         -1.0 and 0.0, as the problem is fixed in _fs2slong.c, _fs2sint.c,
+         and _fs2char.c
+
+2005-11-18 Bernhard Held <bernhard AT bernhardheld.de>
+
+       * src/SDCCcse.c (ReplaceOpWithCheaperOp): minor fix for debugging only
+       * src/mcs51/gen.c (genUnpackBits): better code and a fix,
+       (genCast) cosmetic change
+       * src/ds390/gen.c (genUnpackBits, ): ported from mcs51
+       * src/ds390/ralloc.c (packRegsForAssign): ported fix for bitfields
+       from mcs51
+       * support/regression/tests/bitfields (testSignedBitfields): added
+
+2005-11-18 Borut Razem <borut.razem AT siol.net>
+
+       * sdcc/device/lib/Makefile.in: remove all unnecessary files
+       * device/lib/pic/Makefile.rules, device/lib/pic16/Makefile.subdir:
+         introduced SILENT option to make building of pic16 libraries less
+
+2005-11-18 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
+
+       * device/lib/modff.c, device/lib/ceilf.c, device/lib/floorf.c:
+         Now they work properly with floats between -1.0 and 0.0
+       * device/lib/printf_large.c: Removed temporary patch for bug 1358192
+
+2005-11-18 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * src/SDCCicode.c (printOperand): added missing else
+
+2005-11-18 Bernhard Held <bernhard AT bernhardheld.de>
+
+       * src/SDCCsymt.c (computeType): fixed bug 1358192: added missing else,
+       reformatted for better readability
+       * src/mcs51/gen.c (genUnpackBits): initial, incomplete support for
+       signed bitfields
+
+2005-11-17 Borut Razem <borut.razem AT siol.net>
+
+       * device/lib/pic16/Makefile.rules, device/lib/pic16/Makefile.subdir:
+         introduced SILENT option to make building of pic16 libraries less
+         verbose - used for nightly snapshot build
+       * doc/sdccman.lyx: documented that SDCDB and ucSim are currently not
+         available on Win32 platforms.
+       * sdcc/device/lib/Makefile.in: added library sources for mcs51, small,
+         medium, large, pic and pic16
+
+2005-11-16 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
+
+       * device/lib/printf_large.c: Temporary patch for bug 1358192:
+         printf("%f"...) sets fraction to zero.
+
+2005-11-16 Raphael Neider <rneider AT web.de>
+
+       * src/pic/pcode.c (LinkFlow): handle empty flows correctly,
+         fixes #1357221
+       * src/pic/gen.c (genIfx): implemented for CARRY bit
+       * src/pic16/gen.c (genAssign,genCast): fixed assigning/casting
+         to generic pointers, fixes #1357332,
+         (pic16_movLit2f): NEW,
+         (pic16_storeForReturn,genDataPointerSet): use pic16_movLit2f
+
+2005-11-14 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * src/SDCCmain.c (parseCmdLine): fixed bug 1356800, thanks rsudjian
+
+2005-11-11 Raphael Neider <rneider AT web.de>
+
+       * src/pic/gen.c: handle FPOINTERS like POINTERS everywhere
+       * src/pic16/gen.c (pic16_derefPtr): now works for non-pointers as well,
+         compute pointer's type from operand,
+         (genUnpackBits,genPackBits): handle FPOINTERS correctly, re-indented,
+         improved single bit reads, fixes bug #1353379
+
+2005-11-09 Borut Razem <borut.razem AT siol.net>
+
+       * support/scripts/sdcc.nsi: added lib/pic to the package
+
+2005-11-08 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * src/SDCCval.c (valUnaryPM): fixed bug 1350699
+
+2005-11-06 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * support/regression/tests/bug1348008.c: added
+       * src/mcs51/gen.c (saveRBank, unsaveRBank): fixed bug 1348008
+       * support/regression/tests/bug1337835.c: updated comment
+
+2005-11-06 Borut Razem <borut.razem AT siol.net>
+
+       * sim/ucsim/error.cc, sim/ucsim/errorcl.h,
+         sim/ucsim/sim.src/stack.cc, sim/ucsim/sim.src/stackcl.h,
+         sim/ucsim/sim.src/uc.cc, sim/ucsim/sim.src/uccl.h,
+         sim/ucsim/sim.src/mem.cc, sim/ucsim/sim.src/memcl.h,
+         sim/ucsim/cmd.src/set.cc, sim/ucsim/cmd.src/show.cc:
+         dynamic construction of cl_error_class and derivates - 2.nd try
+
+2005-11-05 Borut Razem <borut.razem AT siol.net>
+
+       * sim/ucsim/sim.src/error.cc: fixed uninitialized class member variable
+         bug, which caused Bus Errors on sparc solaris
+
+2005-11-04 Borut Razem <borut.razem AT siol.net>
+
+       * sim/ucsim/error.cc, sim/ucsim/errorcl.h,
+         sim/ucsim/sim.src/stack.cc, sim/ucsim/sim.src/stackcl.h,
+         sim/ucsim/sim.src/uc.cc, sim/ucsim/sim.src/uccl.h,
+         sim/ucsim/sim.src/mem.cc, sim/ucsim/sim.src/memcl.h,
+         sim/ucsim/cmd.src/cmdconf.cc: dynamic construction of cl_error_class
+         and derivates to resolve the initialization problem on OSX
+
+2005-11-02 Borut Razem <borut.razem AT siol.net>
+
+       * sim/ucsim/cmd.src/cmdutil.cc, sim/ucsim/cmd.src/newcmd.cc:
+         corrected typo - #include <winsock2.h>
+
+2005-11-02 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * src/asm.c (printILine): always close tmpFile, thanks Beau E. Cox,
+         (_asxxxx_mapping): added org directive for future enhancements
+
+2005-11-01 Borut Razem <borut.razem AT siol.net>
+
+       * sim/ucsim/app.cc, sim/ucsim/cmd.src/cmdutil.cc, sim/ucsim/cmd.src/newcmd.cc:
+         enabled sockets on WIN32
+       * sim/ucsim/cmd.src/newcmd.cc: fixed bug with uninitialized variables
+
+2005-10-31 Borut Razem <borut.razem AT siol.net>
+
+       * support/regression/generate-cases.py: escape backslashes in {testcase}:
+         WIN32 backslash path delimiters should be escaped when used in C strings
+       * support/regression/tests/bitfields.c: exclude failing assertions for
+         __CYGWIN32__ and __MINGW32__ hosts
+
+2005-10-30 Borut Razem <borut.razem AT siol.net>
+
+       * src/SDCCutil.c: corrected double comparison typo
+
+2005-10-30 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * device/lib/medium/Makefile: added for new memory model medium
+       * device/include/asm/mcs51/features.h: updated for medium/pdata
+       * device/include/mcs51/c8051f120.h: added sfr16/sfr32 definitions,
+         added Multiply & Accumulate sbit's and MAC0_PAGE define
+       * device/include/mcs51/c8051f300.h: added sfr16 definitions
+       * device/include/mcs51/c8051f310.h: added sfr16 definitions
+       * device/lib/_mullong.c: update for medium model
+       * device/lib/incl.mk: added medium model
+       * doc/sdccman.lyx: documented medium model
+       * src/SDCCast.c (isBitAndPow2): simplified using updated powof2
+       * src/SDCCicode.c (geniCodeMultiply, geniCodeDivision): use updated powof2
+       * src/SDCCmain.c (optionsTable, linkEdit): enabled medium model
+       * src/SDCCmem.c (allocIntoSeg): set iaccess for pdata symbols,
+         (allocParms): set SCLS and OCLS to pdata for medium model
+       * src/SDCCsymt.c (processFuncArgs): use default_local_map and set iaccess
+         for pdata,
+         (powof2): return <0 if not power of 2
+       * src/avr/gen.c (genBitWise): use updated powof2
+       * src/mcs51/gen.c (genMinusDec): use acc if necessary,
+         (shiftR2Left2Result): small optimization in setup, save acc when storing,
+         (shiftLLeftOrResult): use B if necessary
+       * src/mcs51/main.c (_mcs51_finaliseOptions, mcs51_port): added medium model
+       * src/mcs51/peeph.def: renamed 226 to 226.b, added 226.a
+       * src/pic/main.c (_pic14_do_link): made void parameter list explicit
+       * support/regression/Makefile.in: added test-mcs51-medium
+       * support/regression/ports/mcs51-medium/spec.mk: added to test medium model
+
+2005-10-28 Bernhard Held <bernhard AT bernhardheld.de>
+
+       * src/SDCCsymt.c (compStructSize): make bitfields without (un)signed
+       specifier unsigned
+       * device/lib/time.c (mktime): fixed bug 1334315
+
+2005-10-28 Raphael Neider <rneider AT web.de>
+
+       * device/include/pic/p16f_common.inc: added common declarations
+       * src/pic/ralloc.c (initStack): moved regs *r to block start for Alpha
+
+2005-10-27 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * src/mcs51/gen.c (getTempRegs): return 0 if not enough registers found,
+         (aopPutUsesAcc): added to predict accumulator use,
+         (assignResultValue): save acc if necessary,
+         (genMinusDec): store result if indirectly addressed,
+         (genDivOneByte):  save acc if necessary,
+         (movLeft2Result): bugfix if left already in acc,
+         (genAnd, genOr, genXor, shiftL2Left2Result, shiftR2Left2Result): pay more
+           attention to accumulator use (esp. pdata),
+         (genReceive): receive pdata correctly
+       * src/SDCCicode.c (isOperandInPagedSpace): added to detect pdata operands
+       * src/SDCCicode.h: added isOperandInPagedSpace prototype
+
+2005-10-27 Raphael Neider <rneider AT web.de>
+
+       * doc/sdccman.lyx: corrected version (should be 2.5.4 not 2.5.5)
+
+2005-10-27 Raphael Neider <rneider AT web.de>
+
+       * .version: changed version to 2.5.4
+       * doc/sdccman.lyx: changed version to 2.5.4, added some remarks to PIC14
+       * device/lib/pic/libsdcc/{_mulint.c,_mullong.c}: use unsigned literals,
+         (_divschar.c,divuchar.c,_mulchar.c,_modschar.c,_moduchar): NEW,
+           arithmetics support routines
+       * device/lib/pic/Makefile.rules: have assembler sources preprocessed
+       * device/lib/Makefile.in: also create installdir for pic
+
+       * src/SDCCopt.c (cnvToFcall): mark support routines `extern' for
+         pic14 port as well
+       * src/pic/device.c (dump_sfr): rewritten to delegate register
+         placement to the linker (use `extern sym' rather than sym EQU addr),
+         (validAddress): fixed to check last specified address
+       * src/pic/gen.c (aopForSym): added code to deal with array (useless?),
+         (popGetLit): truncate literal value to 8 bit,
+         (popGet): moved assert to more appropriate place
+         (popGetExternal): create pCode operand from and mark the according
+           symbol as being `extern'
+         (popGetAddr): added sanity check on immediate's offset, provide
+           GPOINTER tag on demand
+         (aopPut): fixed for immediates,
+         (mov2w_op): move operand's address or contents to WREG (depending on
+           operand type), safer variant of mov2w,
+         (movwf,call_libraryfunc): NEW, handy abbreviations,
+         (get_argument_pcop,get_return_val_pcop,pass_argument,
+         get_returnvalue): interface for accessing function parameters and
+           return values,
+         (assignResultValuei,genRet): use new parameter/return value interface
+         (pic14_getDataSize): back to old version handling generic pointers,
+         (pic14_toBoolean,genNot,genCpl,genCmpEq,genOrOp): heavily rewritten,
+           provided implementation and/or fixed old one,
+         (genMultOneByte,genDivOneByte,genModOneByte): implemented as library
+           calls, removed legacy 8051 reference code
+         (AccLsh,AccRsh): rewritten and fixed to deal with signed operands
+         (loadSignToC): NEW, move the operands sign bit to CARRY,
+         (genGenericShift): NEW, replaces genLeftShift, genRightShift and
+           genRightShiftSigned, accepts negative shift counts,
+         (setup_fsr): load FSR and adjust IRP (indirect memory access),
+         (emitPtrByteGet,emitPtrByteSet): rewritten, now works with
+           generic pointers, __data pointers and __code pointers,
+         (genUnpackBits,genPackBits): rewritten to work with generic pointers
+           and signed bitfields, limit bitfields to 8 bit,
+         (genDataPointerGet): fixed number of bytes read,
+         (genGenPointerGet,genConstPointerGet): fixed bitfield access,
+         (genPointerGet,genPointerSet): fixed handling of __code pointers,
+           pointers to constant data are no longer assumed to point to __code
+           space, removed invalid pointer types,
+         (bitpatternFromVal): retrieve the PICs representation of an integer
+           or float literal,
+         (genDataPointerSet): fixed assigning to po_immediate operands,
+         (genGenPointerSet): implemented as library call,
+         (genIfx): fixed incorrect condition,
+         (genAddrOf): limit generic pointers' addresses to 2 bytes,
+           provide GPOINTER tag according to destination's storage class,
+         (genCast): added code to handle casting to generic pointers, added
+           sign-/zero extension of the result
+         (aop_isLitLike,op_isLitLike): fixed handling of immediates
+       * src/pic/gen.h: added macros to access IRP bit in STATUS register
+       * src/pic/genarith.c (genAddLit): use min(result's,left's) size, sign
+         extend the result
+       * src/pic/glue.c (is_shared_address,is_shared): check whether a given
+         address/register resides in the shared banks
+         (emitSymbolToFile): improved to handle global and `pinned' symbols,
+           put all variables into separate sections (have the linker arrange
+           them)
+         (picglue): put init code and interrupt handlers in separate sections
+       * src/pic/main.c: added port specific options table, modified to PORT
+         structure to make GPOINTERs 3 byte, added pic14_options
+         (_pic14_do_link): private linking routine (update paths to libraries,
+           add libsdcc.lib by default)
+       * src/pic/main.h: declare pic14_options
+       * src/pic/pcode.c: fixed instructions i/o relations,
+         (RegCond): reverted to correct version,
+         (newpCodeOpLit): truncate literals to 8 bit,
+         (genericPrint): added debug output,
+         (getRegFromInstruction): fixed for various operand types, simplified
+         (BuildFlow): fixed broken handling of isntructions with labels
+         (LinkFlow): start at last instruction in flow (skip trailing comments),
+           pass the flow on to the next instruction after CALL
+         (pCodeReplace): NEW, replace a pCode and move meta data to the new one
+         (insertPCodeInstruction): fixed inserting after a skip instruction,
+         (DoBankSelect): fixed for labeled instructions
+         (OptimizepBlock): honor --nopeep switch
+         (AnalyzeFlow,ReuseReg): prevent crash on source files with no function
+       * src/pic/pcodepeep.c (pCodePeepMatchRule): prevent NULL pointer accesses
+       * src/pic/pcoderegs.c (regIsLocal): NEW, check visibility of a register
+         (pCodeOptime2pCodes): allow disabling this optimization via
+           --no-pcode-opt due seldomly occuring bugs, fixed some conditions
+           but is still buggy), started implementation of a dataflow based
+           pCode optimization (CSE + dead code elimination)
+         (pCodeRegMapLiveRangesInFlow): removed bogus inCond
+       * src/pic/ralloc.c (initStack): renamed stack registers to STK%d, the new
+         names are independant of the stack location and therefore portable across
+         devices
+
+2005-10-27 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * src/mcs51/ralloc.c (bitType): added to detect bit variables,
+         (selectSpil): fixed bug 1337835 by not spilling bit variables
+       * support/regression/tests/bug1337835.c: added test for this bug
+       * src/mcs51/peeph.def: restart after rule 3.c,
+         addded rules 263.x to optimize loading constants
+
+2005-10-26 Raphael Neider <rneider AT web.de>
+
+       * src/SDCCsymt.c (compStructSize): allow signed bitfields for PIC ports
+       * src/pic16/gen.c (genUnpackBits): support signed bitfields,
+         (genAssign): emit warning when casting literals to generic pointer
+           type, also applies when taking the address of a fixed variable,
+         (genCast): improved casting to generic pointers
+       * src/pic16/glue.c (pic16emitStaticSeg): fixed(?) handling of fixed
+         extern variables, added verbose error message
+       * device/include/pic16/{string.h,errno.h}: added #pragma library c
+
+2005-10-26 Bernhard Held <bernhard AT bernhardheld.de>
+
+       * src/mcs51/gen.c (genMinus): fixed bug 1270906: reverse subtraction,
+       carry must be complemented too
+       * src/mcs51/peeph.def: addded rule 262 to remove double cpl c, which
+       could be emitted by genMinus
+       * src/SDCCval.c (constVal): fixed bug 1305065
+
+2005-10-25 Bernhard Held <bernhard AT bernhardheld.de>
+
+       * src/SDCCast.c (addCast): added promotion for bit variables
+       (decorateType): emit W_COMPLEMENT before the problem vanishes behind
+       promotion casts + optimisation
+       (optimizeGetWord): fix warning 'i' might be used uninitialized
+       * src/mcs51/gen.c (genCpl): removed W_COMPLEMENT
+       * src/ds390/gen.c (genCpl): removed W_COMPLEMENT
+
+2005-10-24 Bernhard Held <bernhard AT bernhardheld.de>
+
+       * src/SDCCicode.c (ast2iCode): reverted to 1.224 because of regression:
+       all chars are promoted to int; promotion should be handled in SDCCast.c
+
+2005-10-15 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
+
+       * device/lib/_strcmp.c: Fixed bug 1326457
+
+2005-10-11 Raphael Neider <rneider AT web.de>
+
+       * device/lib/pic16/libio/i2c.ignore: added 1320, fixes broken builds
+       * device/lib/pic16/libdev/pic18f1320.c: added 1320's device library
+
+2005-10-05 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * src/SDCC.y (AT): fixed bug with sfr32 addresses when built with GCC
+       * support/regression/tests/sfr16.c: added test for the sfr32 bug
+
+2005-10-04 Raphael Neider <rneider AT web.de>
+
+       * device/include/pic16/pic18fregs.h, src/pic16/devices.inc,
+         device/lib/pic16/pics.all: added pic18f1320
+       * src/pic16/pcode.c (mnem2key): fixed prototype's argument mismatch
+
+2005-09-30 Raphael Neider <rneider AT web.de>
+
+       * src/pic16/device.c (Pics16[]): moved device descriptions to devices.inc
+       * src/pic16/devices.inc: NEW, provides device descriptions
+       * src/pic16/gen.c (genInline): fixed handling of ';'-comments
+
+2005-09-26 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * src/SDCCicode.c (operandOperation): added GETABIT, GETBYTE, GETWORD and
+         GETHBIT
+
+2005-09-25 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * doc/sdccman.lyx: updated Highest Order Bit documentation,
+         documented Any Order Bit, Higher Order Byte and Higher Order Word
+       * src/SDCC.y: added tokens GETABIT, GETBYTE, GETWORD
+       * src/SDCCast.c (optimizeGetHbit): updated to also accept bool=expr&(1<<n),
+         (optimizeGetAbit): new, to get any bit, not only the high bit,
+         (optimizeGetByte): new, to get a byte from a (long) int: expr>>(8*n),
+         (optimizeGetWord): new, to get a word from a long int: expr>>(8*n),
+         (isConformingBody): also check GETABIT, GETBYTE, GETWORD,
+         (decorateType): '&': also try GETABIT, GETBYTE, GETWORD optimization,
+           RIGHT_OP: also try GETBYTE, GETWORD optimization,
+           GETABIT, GETBYTE, GETWORD: decorate them,
+         (isShiftRightLitVal, isBitAndPowOf2): new helper functions,
+         (ast_print): added GETABIT, GETBYTE, GETWORD
+       * src/SDCCcse.c (isSignedOp): added GETABIT, GETBYTE, GETWORD
+       * src/SDCCicode.c (codeTable): added GETABIT, GETBYTE, GETWORD,
+         (geniCodeBinary): new generic binary icode,
+         (ast2iCode): added GETABIT, GETBYTE, GETWORD
+       * src/port.h: updated comment for PORT.hasExtBitOp
+       * src/mcs51/gen.c (genGetAbit): new, to get any single bit,
+         (genGetByte): new, to get a single byte,
+         (genGetWord): new, to get a word from a long,
+         (gen51Code): added GETABIT, GETBYTE, GETWORD
+       * src/mcs51/main.c (hasExtBitOp): added GETABIT, GETBYTE, GETWORD
+
+2005-09-23 Raphael Neider <rneider AT web.de>
+
+       * configure.in, configure: have device/lib/pic configured
+       * device/lib/Makefile.in: added model-pic14
+       * device/lib/clean.mk: added pic/ to clean rule
+       * device/lib/pic: added rudimentary pic14 library providing support
+         functions for multiplication/division/generic pointer access
+       * src/SDCCopt.c (convilong): mark support functions as extern
+         for pic14 port as well
+       * src/pic/gen.c (genMult): added assertions,
+         (genpic14Code): emit warning on unhandled iCodes
+       * src/pic/main.c (_hasNativeMulFor): return true only for 8x8 bit
+       * src/pic/pcode.c (pCodeOpCopy),
+       * src/pic16/pcodepeep.c (pic16_pCodeOpCopy): fixed handling of various
+         pCodeOpReg-subtypes (PO_{STATUS,INTCON,PCL,PCLATH,PCLATU,BSR,
+         SFR_REGISTER}), made safe for future extensions
+       * src/pic16/pcode.c (pic16_safepCodeUnlink): allow for removal of
+         instructions even if preceeded by SKIP instructions (also remove
+         them); removed unused code
+       * src/pic16/pcode.h: added arg2 to pCodeOpLit to match pCodeOpLit2,
+         prevents leaving parts of the structure uninitialized after copying
+
+2005-09-22 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * src/mcs51/gen.c (genMinus): fix for undetected bug introduced 3 months
+         ago by me
+       * support/regression/tests/addsub.c: added test for the bug
+
+2005-09-21 Raphael Neider <rneider AT web.de>
+
+       * device/include/pic16/pic18f1220.h,
+         device/lib/pic16/libdev/pic18f1220.c: added ECCPAS sfr and bitfield
+       * device/lib/pic16/Makefile.rules: added missing opening paren
+       * src/pic16/gen.c (pic16_genNot,pic16_genCpl): removed as these
+         are provided in genutils.c,
+         (genUminusFloat,genUminus,genCmpEq): added asserts on different
+         operand/result sizes,
+         (genCmp): assert on NULL pointers first, then check deref'ed values
+       * src/pic16/genutils.c (pic16_genCpl): fixed for different operand/
+         result size
+
+2005-09-18 Raphael Neider <rneider AT web.de>
+
+       * src/pic16/gen.c (genFarPointerGet,genFarPointerSet): removed
+         as these are now unused,
+         (genPointerGet,genPointerSet): handle FPOINTERs like POINTERs
+       * src/pic16/pcode.c (pic16_symIsSpecial): assume REG_TMPs to be
+         local, avoids uninitialized pointer dereference on r->name
+       * src/pic16/ralloc.c (newReg): fixed indentation
+
+2005-09-13 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * src/SDCCval.c (constVal): fixed bug 730366
+       * support/Util/SDCCerr.c,
+       * support/Util/SDCCerr.h: added warning W_INVALID_INT_CONST
+
+2005-09-10 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * as/mcs51/lkmem.c (summary2): fixed report for absolute areas (bug 1210220)
+
+2005-09-09 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * src/mcs51/peeph.def (241.x): fixed bug when comparing generic pointers
+
+2005-09-08 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * as/hc08/lkaomf51.c (OutputName): made name unsigned char,
+         (hex2dec): made hex_digit unsigned char, removed ascii dependance
+       * as/mcs51/lkaomf51.c (OutputName): made name unsigned char,
+         (hex2dec): made hex_digit unsigned char, removed ascii dependance
+       * as/mcs51/lkarea.c (lnkarea2): sort absolute areas to the front
+       * packihx/packihx.c (hexDigit): made c unsigned char
+       * as/mcs51/lklibr.c (fndsym),
+       * link/z80/lkgb.c (gb),
+       * link/z80/lklibr.c (fndsym),
+       * link/z80/lkrloc.c (relr),
+       * sim/ucsim/libltdl/ltdl.c (load_deplibs, try_dlopen),
+       * src/SDCC.lex (checkCurrFile, process_pragma),
+       * src/SDCCglue.c (spacesToUnderscores),
+       * src/SDCCmain.c (setParseWithComma, processFile),
+       * src/asm.c (tvsprintf, printCLine),
+       * src/avr/gen.c (emitcode, aopPut),
+       * src/ds390/gen.c (emitcode),
+       * src/hc08/gen.c (emitcode, emitinline),
+       * src/mcs51/gen.c (emitcode, genInline),
+       * src/pic/pcodepeep.c (cvt_extract_destination, cvt_extract_status,
+         tokenizeLineNode),
+       * src/pic/ralloc.c (debugLog),
+       * src/pic16/pcodepeep.c (cvt_extract_destination, cvt_extract_status,
+         tokenizeLineNode),
+       * src/pic16/ralloc.c (debugLog),
+       * src/z80/main.c (_process_pragma):
+          made all ctype.h function calls safe
+       * src/SDCCopt.c: include math.h for fabs
+       * src/SDCCpeeph.c: added macros ISCHARDIGIT, ISCHARSPACE and ISCHARALNUM
+         and used them throughout the code to make ctype.h function calls safe
+       * src/ds390/main.c (asmLineNodeFromLineNode),
+       * src/mcs51/main.c (asmLineNodeFromLineNode): made p unsigned char*
+       * src/pic/gen.c (DEBUGpic14_emitcode, pic14_emitcode): made lbp
+          unsigned char*
+       * src/pic/pcode.c (mnem2key): made mnem unsigned char*,
+         (newpCodeAsmDir): made ctype.h function calls safe
+       * src/pic16/gen.c (pic16_emitpcomment, DEBUGpic16_emitcode,
+         pic16_emitcode):  made lbp unsigned char*
+       * src/pic16/pcode.c (mnem2key): made mnem unsigned char*,
+         (pic16_newpCodeAsmDir): made ctype.h function calls safe
+       * src/xa51/gen.c (emitcode),
+       * src/z80/gen.c (_emit2): made lbp unsigned char*
+       * support/Util/MySystem.c (split_command): made cmd_line and p unsigned
+          char*
+
+2005-09-05 Raphael Neider <rneider AT web.de>
+
+       * src/pic16/ralloc.c (pic16_allocDirReg): use device specific
+         access bank splitpoint
+
+2005-09-05 Raphael Neider <rneider AT web.de>
+
+       * device/lib/pic16/libc/Makefile: added (missing) string to SUBDIRS
+
+2005-09-03 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * .version: changed to version 2.5.3
+       * doc/sdccman.lyx: changed version to 2.5.3,
+         documented --codeseg and --constseg and pragma codeseg and constseg,
+         documented bit parameters (reentrant) and bit returning
+       * src/SDCCicode.c (geniCodeReceive): fixed (possible) bug generating
+          currFunc->recvSize, but is this ok for all ports?
+         (ast2iCode): result of ~ on unsigned char must be cast to int for
+          bool to work
+       * src/SDCCmem.c (allocGlobal, allocLocal): don't put bit returning
+         function pointers in bit space
+       * src/SDCCsymt.c (checkSClass): allow bit returning function pointers,
+         (processFuncArgs): call port.reg_parm() with reentrancy info
+       * src/port.h,
+       * 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: port.reg_parm prototype extended with
+         "bool reentrant" parameter
+       * src/mcs51/main.c (_mcs51_regparm): use parameter reentrant instead of
+         options.stackAuto for allocating bit register parameters
+       * src/mcs51/gen.c (genNot): optimized complementing direct bit,
+         (genSend): set BitBankUsed if it is,
+         (selectRegBank): factored out of genCall for use in genPcall,
+         (genCall): removed redundant dtype assignmen, use selectRegBank,
+         (genPcall): handle returning in Carry properly, save in F0 if needed,
+         (genReceive): handle bit register parameters
+       * src/mcs51/ralloc.c (updateRegUsage): update BitBankUsed along the way,
+         (mcs51_assignRegisters): enable bit registers for all reentrant
+          functions and don't set BitBankUsed unconditionally
+       * src/mcs51/peeph.def (177.d): fixed bug if %2==%3
+       * support/regression/tests/bitvars.c: enable tests for SDCC_STACK_AUTO
+       * support/regression/tests/funptrs.c: added tests for BOOL and for return
+
+2005-08-27 Borut Razem <borut.razem AT siol.net>
+
+       * device/lib/Makefile.in: cp on sparc-solaris (SunOS) and on
+       ppc-osx (Darwin) does not support -u option. It seems that it is
+       supported only on Linux - GNU cp
+
+2005-08-25 Borut Razem <borut.razem AT siol.net>
+
+       * sim/ucsim/gui.src/serio.src/Makefile.in,
+         sim/ucsim/s51.src/Makefile.in, sim/ucsim/avr.src/Makefile.in,
+         sim/ucsim/z80.src/Makefile.in, sim/ucsim/hc08.src/Makefile.in,
+         sim/ucsim/xa.src/Makefile.in: install -s changed to 2 steps:
+         install and strip, since the strip at /usr/ccs/bin should be used
+         on solaris
+
+2005-08-24 Borut Razem <borut.razem AT siol.net>
+
+       * clean.mk, device/lib/clean.mk: find on sparc-solaris does not support -maxdepth option
+
+2005-08-23 Bernhard Held <bernhard AT bernhardheld.de>
+
+       * src/SDCCopt.c (convertToFcall): fixed modulus with divisors 1 and
+       ffffffffu
+
+2005-08-23 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * as/mcs51/aslink.h: completed lkrloc.c prototypes
+       * as/mcs51/lkmain.c (link_main): fixed warning
+       * device/include/stdbool.h: ds390 has no advanced bit support yet
+       * src/SDCC.y: use SPEC_SHORT and renamed _signed to b_signed
+       * src/SDCCsymt.c: use SPEC_SHORT and renamed _signed to b_signed
+       * src/SDCCsymt.h (struct specifier): renamed _xxx bitfields to b_xxx
+         and updated their macros
+       * src/SDCCval.c (constVal): updated comment for renamed b_long
+
+2005-08-22 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * as/mcs51/asdata.c: changed ctype['['] to BINOP
+       * as/mcs51/asexpr.c (expr): added case '[' for bit access in bdata,
+         (term): abused bit 15 of s_addr to indicate bit-addressable bytes,
+         (oprio): set priority for '['
+       * as/mcs51/aslink.h: added define R_BIT, and prototypes for adb_bit
+          and adb_24_bit
+       * as/mcs51/asm.h: added defines R_BIT and S_BIT
+       * as/mcs51/lkarea.c (lnksect2): use T for seg BIT_BANK and overlay it
+       * as/mcs51/lkdata.c: changed ctype['['] to BINOP
+       * as/mcs51/lkmain.c (Areas51): rel2 contains 12 (=C) areas now,
+         added overlayable BIT_BANK area
+       * as/mcs51/lkmem.c (summary): add BIT_BANK to BSEG_BYTES in the report,
+         (summary2): explain 'T' in legenda
+       * as/mcs51/lkrloc.c: replaced old K&R style,
+         (relr): added R_BIT processing,
+         (errmsg): added "Bit-addressable relocation error",
+         (adb_bit): added for converting from byte- to bit-addressable space,
+         (adb_24_bit): added for converting from byte- to bit-addressable space
+       * device/include/stdbool.h: changed BOOL to __bit for mcs51 as it can be
+          used in reentrant functions now even as return value
+       * device/lib/_gptrput.c (_gptrput): removed obsolete code
+       * src/SDCCast.c (resultTypePropagate): also propagate AND_OP and OR_OP,
+         (decorateType): case '!', GETHBIT, AND_OP, OR_OP: result in bool or char
+       * src/SDCCglobl.h: added indicator BitBankUsed
+       * src/SDCCglue.c (glue): emit area BIT_BANK with byte 'bits' and equ's for
+          the bit registers b0-b7
+       * src/SDCCicode.c (operandFromSymbol): removed IS_BITVAR check,
+         (geniCodeCast): fixed bug 1263853,
+         (geniCodeLogicAndOr): put result in bool or char,
+         (geniCodeReceive): added parameter func for accessing the return type,
+         (geniCodeFunctionBody): pass func to geniCodeReceive
+       * src/SDCCmain.c: added indicator BitBankUsed
+       * src/SDCCmem.c (allocLocal): explicitly set sclass for V_BIT
+       * src/SDCCsymt.c (newBoolLink): added for creating a bool/bit,
+         (checkSClass): don't put automatic bool/bit on stack,
+         (checkFunction): removed check on function cannot return bit
+       * src/SDCCsymt.h: added newBoolLink prototype
+       * src/mcs51/gen.c (rb1regs): added bit registers,
+         (movc): created for assigning to carry,
+         (pushReg, popReg): created for pushing registers,
+         (sameRegs): check both AOP_REG and AOP_CRY types,
+         (aopOp): handle bit registers,
+         (aopPut): optimization no self-assign,
+         (saveRegisters): push reg->base (bits) only once for bit registers,
+          and use pushReg,
+         (unsaveRegisters): pop reg->base only once and use popReg,
+         (assignResultValue): added parameter func and return in carry for bits,
+         (genIpush): optimization no reload in A if not changed,
+         (genSend): bit parameters in reentrant functions are passed in bit
+          registers by first assigning to bits in B, then save registers and
+          copy B to bits,
+         (genCall): handle returning in Carry properly, save it in F0 if needed,
+         (genPcall): updated assignResultValue call, this is not safe yet for bit
+          returning function !!!
+         (genFunction): don't generate equ's for bit registers and use pushReg,
+         (genEndFunction): take care of bit returning functions and use popReg,
+         (genRet): return bit in Carry,
+         (genIfx): optimize bit registers and other directly addressable bits,
+         (genReceive): updated assignResultValue call
+       * src/mcs51/main.c (_mcs51_reset_regparm): added regBitParmFlg,
+         (_mcs51_regparm): allow passing of upto 8 bit parameters in bit
+          registers when using stack-auto
+       * src/mcs51/ralloc.c (_G): added allBitregs,
+         (regs8051): added the bit registers,
+         (createStackSpil): use macro IS_BIT,
+         (getRegBit): added to allocate a bit register, else spill,
+         (getRegBitNoSpil): added to allocate a bit register, else a gpr,
+         (updateRegUsage): factored out to ease stepping while debugging,
+         (serialRegAssign): use updateRegUsage, only spill bits if necessary,
+          also allocate bit registers,
+         (fillGaps): handle bit registers,
+         (findAllBitregs): added to create bit vector with all bit registers,
+         (mcs51_allBitregs): returns this bit vector,
+         (mcs51_assignRegisters): when using stack-auto use bit registers for
+          passing parameters and creating local variables
+       * src/mcs51/ralloc.h: added B0_IDX..B7_IDX and prototype mcs51_allBitregs
+
+2005-08-22 Borut Razem <borut.razem AT siol.net>
+
+       * device/lib/Makefile.in: replaced find option -or with -o
+         to make it run on solaris
+
+2005-08-22 Raphael Neider <rneider AT web.de>
+
+       * src/pic16/gen.c (pic16_loadFromReturn): added check for AOP_PCODE,
+         fixes #1265442 (crash on Solaris)
+
+2005-08-20 Borut Razem <borut.razem AT siol.net>
+
+       * configure, configure.in: added tests for libsocket and libnsl libraries,
+         requred by sdcdb on sparc-solaris; generate support/regression/Makefile
+         from support/regression/Makefile.in
+       * support/regression/Makefile.in: added
+       * device/lib/pic16/Makefile.common.in: force make to use bash shell
+       * sim/ucsim/libtool: regenerated on sparc-solaris
+       * sim/ucsim/avr.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: removed GNU ld specific linker options
+         -Wl,--start-group and -Wl,--end-group to enable ucsim compilation on
+         sparc-solaris, which doesn't use GNU ld linker
+       * device/lib/Makefile.in: cp on sparc-solaris (SunOS) does not support -u option
+       * as/Makefile: find on sparc-solaris does not support -maxdepth option
+
+2005-08-19 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * src/mcs51/peeph.def: updated comments
+
+2005-08-16 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
+
+       * device/lib/_gptrget.c,
+       * device/lib/_gptrput.c: slightly shorter
+       * doc/sdccman.lyx: incremented version
+       * src/mcs51/peeph.def: moved peephole comments to the line of first
+         change to better keep line correlation, reanimated 186.e
+       * src/mcs51/peeph.def: renamed similar peepholes by using suffixes
+
+2005-08-16 Slade Rich <slade_rich AT users.sourceforge.net>
+
+       * src/pic/pcode.c : Pasted ".line" assembly directives patch from
+         David Saxton with quotes around file name.
+
+2005-08-15 Borut Razem <borut.razem AT siol.net>
+
+       * support/regression/tests/bitfields.c, support/regression/tests/bitvars.c,
+         support/regression/tests/bitwise.c, support/regression/tests/literalop.c,
+         support/regression/tests/rotate.c, support/regression/tests/zeropad.c:
+         make tests run on x86_64 platform
+
+2005-08-13 Raphael Neider <rneider AT web.de>
+
+       * device/lib/pic16/Makefile.subdir: weakened clean-intermediate rule
+         as it might be executed DURING a build (parallel make is wonderful)
+
+2005-08-13 Raphael Neider <rneider AT web.de>
+
+       * device/lib/Makefile.in (port-specific-objects-pic16):
+         revert to cp $(PORT)/bin/*.* $(PORTDIR)
+       * device/lib/pic16/Makefile: added .PHONY targets, removed builddir
+         dependency
+       * device/lib/pic16/Makefile.rules: build subdirs before creating
+         the library, removed builddir rule, create $(builddir) early in
+         recurse rule, use empty recurse rule for leaf directories
+       * device/lib/pic16/Makefile.subdir: added phony targets, ignore
+         mkdir errors (race condition), removed duplicate suffix "hex"
+         from clean rules
+       * device/lib/pic16/libdev/Makefile: recursive make via + and $(MAKE)
+       * device/lib/pic16/libio/Makefile: create sub-make's builddir early,
+         prevents mkdir -p from aborting on Alpha
+
+2005-08-12 Raphael Neider <rneider AT web.de>
+
+       * src/pic16/glue.c (pic16_print(G)PointerType): do not flush
+         db-statements in order to allow for arrays of pointers in code
+         sections to be placed without interspersed 0-padding, fixes
+         bug #1256215
+       * (emitStatistics): fixed division by zero for pic18f1220
+       * src/pic16/pcode.c: buffer (up to) 12 DB directives to allow for
+         unpadded writing of 8-bit, 16-bit, 24-bit and 32-bit values
+       * (pic16_emitDS): respect DB_ITEMS_PER_LINE
+       * (pic16_pCodeConstString): keep track of already emitted string
+         literals to prevent "duplicate definitions of symbol _str_NR"
+       * src/pic16/ralloc.c (pic16_allocRegByName): removed not so helpful
+         debug message
+       * device/lib/Makefile.in: ignore failing PIC16 library builds
+       * device/lib/pic16/Makefile: do not build if gputils are missing
+       * device/lib/pic16/Makefile.common.in: do not enforce MAKEFLAGS=-s
+
+2005-08-10 Raphael Neider <rneider AT web.de>
+
+       * device/lib/Makefile.in: fixed copying pic16 libraries (broken by
+         my last commit)
+
+2005-08-10 Raphael Neider <rneider AT web.de>
+
+       * src/*.c, src/pic16/{gen.c,glue.c,main.c}: applied Vangelis
+         Rokas' patch to add the new fixed point type "__fixed16x16"
+       * device/lib/pic16/libsdcc/fixed16x16: added Vangelis' support
+         functions for __fixed16x16 arithmetics
+       * device/lib/pic16: reimplemented the build system to support
+         a separate build directory, better handling of libio (create
+         the library in a separate subdir for each architecture) and
+         easier configuration (centralized in Makefile.common)
+
+2005-08-07 Raphael Neider <rneider AT web.de>
+
+       * src/pic16/gen.c (genrshTwo): fixed sign extension
+       * src/pic16/device.c: added pic18f2320, 4220 and 4320
+       * device/include/pic16/pic18f2220.h: changed some bit definitions,
+         added T0CONbits
+       * device/include/pic16/pic18f4220.h: NEW, header for
+         pic18f4220 and pic18f4320
+       * device/include/pic16/pic18fregs.h: added new devices,
+         embraced Nop(), ClrWdt(), Sleep() and Reset() with do {} while(0)
+       * device/include/pic16/signal.h: resolved name clashes
+         on bit definitions, added DEF_HANDLER2(sig1,sig2,handler)
+         to also allow testing for interrupt enable bits, added
+         comments on how to use the macros
+       * device/lib/pic16/libdev/pic18f2220.c: added T0CONbits
+       * device/lib/pic16/libdev/pic18f{2320,4220,4320}.c: NEW,
+         register definitions for the devices
+       * device/lib/pic16/pics.all: added new devices
+       * device/lib/pic16/libc/stdlib/calloc.c: fixed zeroing
+         allocated memory
+       * device/lib/pic16/libc/stdlib/memfree: do not count
+         the block header as free memory
+       * device/lib/pic16/libc/stdlib/memmisc.c (_initHeap):
+         simplified and added missing end-of-blocklist-marker
+         (reported by Peter Onion, fixes #1252814)
+       * (_mergeHeapBlock): fixed loop condition
+       * device/lib/pic16/libc/stdlib/realloc.c: return NULL for
+         len==0, restructured code
+       * device/lib/pic16/libc/stdlib/{malloc,memfreemax}.c: cleaned
+         up a bit, reduced bitfield accesses, prevent endless loops
+         in case of heap corruption
+       * device/lib/pic16/libc/stdlib/x_ftoa.c: disabled
+         "unreferenced arguments/must return a value" warnings
+       * device/lib/pic16/libio/usart/ubaud.c (usart_baud):
+         replaced BAUDREG with SPBRG
+       * device/lib/pic16/libsdcc/lregs/{lrrest.c,lrst.c},
+         device/lib/pic16/debug/gstack/gstack.c: replaced
+         _naked, _asm, _endasm with __naked, __asm, __endasm
+
+2005-08-05 Raphael Neider <rneider AT web.de>
+
+       * src/pic16/gen.c (pic16_aopGet): fixed handling of offsets in
+         AOP_PCODE operands, fixes multibyte union-bitfield-accesses
+
+2005-08-05 Borut Razem <borut.razem AT siol.net>
+
+       * device/lib/Makefile.in: added missing ';'
+       * configure: removed ^M characters
+
+2005-08-04 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
+
+       * device/include/mcs51/at89c51ed2.h, device/include/mcs51/p89v51rd2.h,
+         device/include/mcs51/at89s53.h: changed to GNU Lesser General Public
+         License
+
+2005-08-04 Borut Razem <borut.razem AT siol.net>
+
+       * configure.in: pic16 libraries build 2nd try - enable running
+         configure in device/lib/pic16
+       * configure: regenerated from configure.in
+       * device/lib/Makefile.in: create $(PORT)/bin directory
+
+2005-08-03 Raphael Neider <rneider AT web.de>
+
+       * src/pic16/gen.c (pic16_derefPtr): NEW, single place
+         to get/set values via pointers
+       * (genUnpackBits,genPackBits): changed detection of
+         ptr->bitfield vs. sym.bitfield, fixed access via generic
+         pointers, removed dead (wrong) code for multibyte bitfields
+       * (genNearPointerGet, genGenPointerGet): removed useless code,
+         fixed bitfield detection, fixes #1250594
+       * (genNearPointerSet): removed useless code
+       * src/pic16/gen.h: renamed pic16_emitpcode to pic16_emitpcode_real
+         and introduced macro pic16_emitpcode that conditionally emits
+         the origin of the following pCode (useful for debugging SDCC)
+       * src/pic16/pcode.c: changed (and disabled) some debug outputs
+       * (createDefmap): fixed handling of LFSR for --optimize-df
+
+2005-08-02 Borut Razem <borut.razem AT siol.net>
+
+       * device/lib/Makefile.in: pic16 libraries build enabled since
+         gputils-0.13.2 are now localy installed at sourceforge's compile farm
+
+2005-08-02 Raphael Neider <rneider AT web.de>
+
+       * src/pic16/gen.c (genPackBits): removed deprecated warning
+       * (genGenPointerSet): fixed bitfield detection
+
+2005-08-02 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
+
+       * device/include/mcs51/msm8xc154s.h: Removed PT2 definition, now in 8052.h.
+
+2005-07-31 Raphael Neider <rneider AT web.de>
+
+       * device/lib/pic16/libdev/pic18f458.c,
+         device/include/pic16/pic18f458.h: added missing T0CONbits
+
+2005-07-29 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * device/include/mcs51/msm8xc154s.h: added, thanks to Matthias Arndt
+
+2005-07-28 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * src/mcs51/gen.c (operandsEqu): fixed bug 1246687
+
+2005-07-23 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
+
+       * device/include/mcs51/at89c51ed2.h: added.
+
+2005-07-23 Raphael Neider <rneider AT web.de>
+
+       * src/pic/gen.h: added emitpcode macro for debugging
+       * src/pic/gen.c (emitpcode): renamed to emitpcode_real
+         and replace by macro adding debug information on demand
+       * (genNot): fixed to C semantics (!0 = 1; !x = 0 iff x != 0)
+       * (gencjne): tried to fix; replaced with correct (slower) code
+       * (gen{Unp,P}ackBits): fixed single bit access
+       * src/pic/pcode.c (AnalyzepCode): fixed DFPRINTF argument
+       * src/pic/pcodepeep.c (pCodeSearchCondition): fixed finding
+         previous instruction
+       * src/pic/pcoderegs.c (regIsSpecial): NEW, check whether a
+         register has to be handled with care (forbidding movement
+         of assignments/uses, removing assignments completely, ...)
+       * (pCodeOptime2pCodes): make use of regIsSpecial
+       * added lots of debugging output (commented out)
+       * src/pic/rallloc.c (deassignLRs): prevent operand registers
+         from being reused as result UNLESS it is known to work
+
+2005-07-23 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * support/Util/dbuf.h: include <stddef.h> for size_t
+       * .version: changed to version 2.5.2
+
+2005-07-23 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+       * src/SDCCloop.c (loopInvariants): fixed bug #1234048
+
+2005-07-22 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+       * src/hc08/gen.c (genMinus): fixed bug #1241835,
+         (genModOneByte): removed needless psha/pula
+
+2005-07-22 Raphael Neider <rneider AT web.de>
+
+       * src/SDCCmain.c (linkEdit): initialized linkerScriptFileName,
+         have PIC14 handled like PIC16, fixes broken pic14 linker calls
+       * src/pic/gen.c (resolveIfx): do not "invent" labels
+       * (genSkipc): changed to positive logic
+       * (genSkipCond): removed as no longer needed
+       * (pic14_mov2w_regOrLit,genCmp): NEW, replacement for buggy version,
+         backport from PIC16
+       * (genLeftShift): check operands are in different registers
+       * src/pic/genarith.c (genPlus): replaced INCF with ADDLW as
+         INCF does not update CARRY...
+       * src/pic/main.c: fixed _linkCmd
+       * src/pic/pcode.c (unlinkpCode): added inactive code
+       * src/pic/ralloc.c (deassignLRs): keep arguments to shift operations
+         alive (do not assign result and operand overlapping registers)
+
+2005-07-22 Raphael Neider <rneider AT web.de>
+
+       * src/pic/device.c (dump_sfr): replaced register declaration with
+         call to emitSymbolToFile() to avoid duplicate symbols
+       * (assignRelocatableRegisters): do not declare external symbols
+       * src/pic/ralloc.c (allocNewDirReg): fixed to get size of arrays
+         right (take size of type, not etype)
+       * (allocDirReg): fixed call to allocNewDirReg() to pass OP_SYM_TYPE
+       * (writeUsedRegs): also dump dynDirectRegs (e.g. local variables)
+       * (packRegsForAccUse): disabled assignment of WREG as
+         the result reg to prevent occurence of just fixed #1235003,
+         fixes #1242954
+       * src/pic/glue.c (emitSymbolToFile): NEW, central place to declare
+         symbols (avoids duplicate symbols in .asm file)
+       * (pic14emitRegularMap): use emitSymbolToFile()
+       * src/pic/gen.c (aopOp): fixed spillLocation handling
+       * (gen{Unp,P}ackBits): fixed acquiring bit-operands
+       * (genDataPointerSet): removed unneccessary variables/output
+
+2005-07-22 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * as/mcs51/lkarea.c: enlarged codemap for banked memory
+       * device/lib/mcs51/crtbank.asm: added # to 0x0F
+
+2005-07-21 Raphael Neider <rneider AT web.de>
+
+       * src/pic/gen.c (aopOp): do not generate AOP_ACC operands as pic14
+         architecture cannot handle them efficiently, fixes bug #1235003
+       * src/pic16/device.c (pic16_dump_{u,i}section,pic16_dump_int_registers):
+         check for empty sets before using them (fixes bug #1232190)
+
+2005-07-19 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * as/mcs51/lkarea.c (lnkarea, lnkarea2): improved BSEG size calculation,
+         (lnksect2): generate warnings for memory overlap
+       * src/SDCC.lex (doPragma, process_pragma): added pragma's codeseg and
+         constseg to set the name of these segments so you can instruct the linker
+         to place them in banks
+       * src/SDCCast.c (decorateType): use new macro IS_FUNCPTR()
+       * src/SDCCglobl.h: added MODEL_HUGE to enum,
+         added code_seg and const_seg to options
+       * src/SDCCglue.c (emitMaps): use options.const_seg,
+         (createInterruptVect): put interrupt vectors in segment HOME,
+         (glue): put HOME before static segment and put the main glue in HOME,
+         (glue): use options.code_seg
+       * src/SDCCicode.c (geniCodeCall): use new macro IS_FUNCPTR()
+       * src/SDCCmain.c: added option --codeseg and --constseg to set the name of
+         these segments so you can instruct the linker to place them in banks
+         (linkEdit): use code_loc for HOME segment which should be the first
+         segment in code memory now
+       * src/SDCCmem.c: fixed more stuff like bug 1238386
+       * src/SDCCsymt.c (getSize): use generic pointer size for banked functions,
+         (changePointer): don't change function pointers to code pointers for
+         banked functions,
+         (compareType): added exceptional check for banked function pointers
+       * src/SDCCsymt.h: changed IFFUNC_ISBANKEDCALL, added IS_FUNCPTR
+       * src/hc08/main.c (_hc08_genAssemblerPreamble): put HOME first, put CSEG
+         after static in code memory
+       * src/mcs51/gen.c: added aopLiteralLong prototype,
+         (aopForSym): use getSize for functions,
+         (genCall): generate banked calls over one trampoline __sdcc_banked_call
+         in HOME with lsb of address in r0, msb in r1 and bank in r2, use
+         -Wl-bBANKSEG=0xbbaaaa option to set the address (aaaa) and bank (bb) of
+         the segment,
+         (genPcall): use call for literal function pointers and generate banked
+         calls over the one trampoline so there's only one place for the user to
+         modify according to his/hers hardware,
+         (genEndFunction): jump to __sdcc_banked_ret in HOME for banked functions,
+         (genPlusIncr): moved check icount>4 beyond inc dptr optimization
+       * src/mcs51/main.c: added keyword banked,
+         (_mcs51_genExtraAreas): put HOME first followed by GSINIT, STATIC and CSEG
+       * support/Util/SDCCerr.c,
+       * support/Util/SDCCerr.h: added E_BANKED_WITH_CALLEESAVES, registers are
+         needed for passing the bank and address to the trampoline
+       * device/lib/mcs51/crtbank.asm: added for bankswitching
+       * device/lib/mcs51/Makefile: added crtbank
+
+2005-07-16 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+       * src/SDCCcse.c (algebraicOpts): fixed loss of volatility
+         for fields at offset 0 of a struct or union as reported
+         on 2005-07-07 in the developer mailing list.
+
+2005-07-15 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * src/SDCCmem.c: fixed bug 1238386
+
+2005-07-12 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
+
+       * src/mcs51/peeph.def: added labelrefcounting for peepholes
+         (patch #1144962), added peephole 300, enabled 259.x
+       * doc/sdccman.lyx: removed screenshot and provided link instead
+
+2005-07-05 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
+
+       * doc/sdccman.lyx: added section about debugging with ddd
+       * doc/figures/ddd_example.eps: screenshot of debugging session
+
+2005-07-04 Raphael Neider <rneider AT web.de>
+
+       * src/pic/gen.c (genPointerGet): handle pointers to CONST values
+         like CODE pointers, fixes #1115683
+       * src/pic/pcode.c (DoBankSelect): forget LastRegIdx during function
+         call, fixes bugs #1232211, #1228110,
+         fixed wrong casts to pCodeFlow from pCodeInstructions
+
+2005-07-04 Raphael Neider <rneider AT web.de>
+
+       * src/pic/gen.c (popGet): changed assert to allow for
+         bit operands
+       * (popGetAddr): changed signature to provide
+         an additional index, patched all call sites
+       * (genCmpEq): handle literal-like operands correctly
+       * (genAddrOf): added sanity checks on __code/__data pointers
+       * (genAssign): added handling of symbols from __code section
+       * (gencjne): do not generate code for comparisons whose result
+         is neither stored nor used, fixes bug #1171114
+       * (AccLsh, AccRsh): operate on operand instead of WREG
+       * (shift{Left,Right}_Left2ResultLit): NEW, size independant
+         replacement for Shift{LR}{12}Left2Result; shift (byte/int/long)
+         by known count
+       * rewrote complete shift-by-literal logic, commented unused
+         functions out
+       * (genConstPointerGet): get multiple bytes (if result size > 1),
+         fixed handling of non-immediate addresses
+       * (genPointerGet): handle CODE pointers like CONST pointers
+       * (genpic14Code): insert C-SRC lines as Cource-pCodes
+       * ({aop,op}_isLitLike): NEW, single place to decide whether an
+         operand is to be treated as a literal or not
+       * (mov2w,genPcall,genCmpEq),
+         src/pic/genarith.c: use aop_isLitLike() to decide between
+         literal/register contents
+       * (addSign): added missing offset
+       * src/pic/gen.h: remove newline after FENTRY/FEXIT comments,
+         only emit comment in debug-mode,
+         use {aop,op}_isLitLike throughout the file
+       * src/pic/glue.c: fix initializers for pointers (work in progress)
+       * src/pic/pcode.c (get_op): honor index on _const symbols
+       * ({reset,dump}pCodeStatistics): NEW, estimate code size
+       * (dumppBlock): added pCode size estimation
+       * src/pic/ralloc.c (deassignLRs,serialRegAssign,packRegisters):
+         check for IS_SYMOP before OP_SYMBOL'ing
+       * fixed indentation, compacted switch-statements
+       * (allocReg): find free register and allocate it instead of
+         allocating new registers all the time
+       * (deassignLRs): prevent POINTER_GET's from being assigned the same
+         registers as its operands (necessary only for multibyte GETs)
+
+2005-07-01 Raphael Neider <rneider AT web.de>
+
+       * src/pic/gen.h: added prototypes emitpComment, popGetAddr and
+         debugging .asm-output macros FENTRY + FEXIT
+       * src/pic/gen.c (Safe_vsnprintf): NEW, is there a more generic
+         way... I wonder...
+       * (emitpComment): NEW, printf to pCode
+       * (popGet): added assert on too large offsets, fixed PO_IMMEDIATE's
+         offset handling
+       * (popGetAddr): NEW, variant of popGet to access an immediates
+         high(er) bytes instead of the n'th byte of memory they reference,
+         replaced popGet with popGetAddr where neccessary
+       * (genDataPointerGet): reactivated and fixed implementation
+       * (genNearPointerGet): enabled call to genDataPointerGet, fixes array-
+         accesses
+       * (genDataPointerSet): fixed multibyte assignments
+       * (genpic14Code): fixed --i-code-in-asm handling
+       * src/pic/genarith.c: fixed PO_IMMEDIATE issue using popGetAddr,
+       * (genPlus): fixed index-out-of-bounds error
+       * src/pic/pcode.c (get_op): fixed PO_IMMEDIATE's index/offset handling
+       * src/pic/ralloc.c: added debugging output macro FENTRY2
+       * (spillThis): fixed indentation, enbraced for-body for clarity
+       * (rematStr): commented out as now unused
+       * (regTypeNum): commented out special spill case (overwrites
+         arbitrary values)
+       * fixes bugs #1229346, #1216476 (both arrays) and #1115667 (SIGSEGV)
+
+2005-06-30 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * doc/sdccman.lyx: documented sfr16/sfr32,
+         added example for using storage class with function pointers
+       * src/mcs51/gen.c (genPlusIncr): optimized small offsets from dptr
+
+2005-06-28 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * device/lib/_gptrget.c: also push/pop _PSBANK, added # to 0x03
+       * device/lib/_itoa.c,
+       * device/lib/_ltoa.c: optimized codesize
+       * src/SDCCsymt.c (checkSClass): added sanity check for sfr at addresses,
+         but don't know how to suppress the double warning.
+       * src/mcs51/gen.c (genPlusIncr): fixed bug when incrementing volatile int's
+       * support/Util/SDCCerr.c,
+       * support/Util/SDCCerr.h: added warning W_SFR_ABSRANGE for sanity check
+
+2005-06-27 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * as/mcs51/asexpr.c (expr): disabled warning "not in .flat24 mode",
+         fixed old K&R prototypes
+       * as/mcs51/asout.c (outrb): always output as if generating 24bit addresses
+       * device/lib/_gptrget.c,
+       * device/lib/_gptrgetc.c,
+       * device/lib/_gptrput.c: changed versions for new memory indicator values,
+         also new versions for small generic pointers and banked generic pointers
+       * src/port.h: added const_name
+       * src/SDCC.lex: added keywords sfr16, __sfr16, sfr32, __sfr32
+       * src/SDCC.y: added tokens SFR16, SFR32 and their sfr_attributes
+       * src/SDCCcse.c (findPrevIc): check all associative operators
+       * src/SDCCglue.c (emitMaps): use CONST_NAME if defined
+       * src/SDCCicode.h: added macro IS_ASSOCIATIVE
+       * src/SDCCmem.c: updated comments,
+         set far-space to 0 for pdata, results in optimized code
+       * src/SDCCmem.h: added macro CONST_NAME
+       * src/SDCCsymt.h: renumerated generic pointer types GPTYPE_... thereby
+         moving the info into the highest bits, see also gptrget/gptrput
+       * src/src.dsp: added sdcc.ico to project files
+       * src/avr/gen.c (genCast): fixed bug 0x%d
+       * src/avr/main.c (avr_port): added "CONST (CODE)" for const_name
+       * src/ds390/gen.c (aopForRemat, adjustArithmeticResult): disconnected direct
+         relation between ptr_type and DCL_TYPE,
+         (genCast): fixed bug 0x%d
+       * src/ds390/main.c (ds390_port, tininative_port, ds400_port): added "CONST
+         (CODE)" for const_name
+       * src/hc08/gen.c (genCast): fixed bug 0x%d
+       * src/hc08/main.c (_hc08_genAssemblerPreamble): added .area ...const_name,
+         (hc08_port): added "CONST (CODE)" for const_name
+       * src/mcs51/gen.c (aopForSym): optimized pushing ACC,
+         (aopForRemat, adjustArithmeticResult): disconnected direct relation
+         between ptr_type and DCL_TYPE,
+         (aopGetUsesAcc, aopGet, aopPut): changed first parameter from asmop* to
+         operand* and took AOP() inside function so sfr-ness can be checked,
+         (all over): repaired calls to aopGetUsesAcc, aopGet, aopPut to comply with
+         new prototype,
+         (genFunction, genEndFunction): optimized stack setup,
+         (genMinus): optimized for literals with ending zeroes (in bytes),
+         (genCast): fixed bug 0x%d
+       * src/mcs51/main.c (_mcs51_keywords): added sfr16 and sfr32,
+         (mcs51_port): added "CONST (CODE)" for const_name
+       * src/mcs51/peeph.def: made rule 226 more generic
+       * src/pic/main.c (pic_port): added "CONST (CODE)" for const_name
+       * src/pic16/main.c (pic16_port): added "CONST (CODE)" for const_name
+       * src/xa51/main.c (xa51_port): added "CONST (CODE)" for const_name
+       * src/z80/main.c (z80_port): added NULL for const_name,
+         (gbz80_port): added NULL for const_name
+       * support/regression/tests/bug663539.c,
+       * support/regression/tests/sfr16.c: new tests
+
+2005-06-25 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
+
+       * device/include/mcs51/p89v51rd2.h, device/include/mcs51/at89s53.h: added.
+
+2005-06-24 Raphael Neider <rneider AT web.de>
+
+       * device/lib/pic16/libdev/pic18f[68][567]20.c:
+         corrected typos...
+       * device/include/pic16/signal.h: added USBIF
+         and SIG_USB
+
+2005-06-24 Raphael Neider <rneider AT web.de>
+
+       * device/lib/pic16/libdev/pic18f2455.c,
+         device/include/pic16/pic18f2455.h: NEW
+       * device/include/pic16/pic18fregs.h,
+         device/lib/pic16/pics.all,
+         src/pic16/device.c: added 18f2455
+       * device/lib/pic16/libdev/pic18f[68][567]20.c,
+         device/include/pic16/{pic18f[68][567].h,usart.h}:
+         replaced MULTIPLE_USARTS define with more relaible
+         compatibility sfrs (for USART access)
+
+2005-06-20 Slade Rich <slade_rich AT users.sourceforge.net>
+
+       * src/pic/pcode.c : Fixed problem when a string constant contains a "\r\n"
+         and the output asm file line is printed on two lines.
+
+2005-06-19 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+       * sim/ucsim/hc08.src/inst.cc (inst_condbranch): fixed simulation of
+         BGT, BLE, BHI, and BLS instructions
+       * src/hc08/gen.c (outAcc, outBitC, outBitNV, genCmpLt, genCmpGt,
+         genCmpEq): removed
+       * src/hc08/gen.c (genCmpEQorNE, genCmp, branchopCmp, nameCmp,
+         negatedCmp, exchangedCmp, genhc08Code): rewrite of comparison handling,
+         fixes bug #1216342
+       * src/hc08/peeph.def: added rules 2g - 2l for new conditional branches
+
+2005-06-15 Raphael Neider <rneider AT web.de>
+
+       * src/pic16/NOTES: moved Vangelis from active developers to people to contact
+       * device/include/pic16/{6520.h,8520.h}: fixed configuration bits
+       * src/pic16/gen.c (): prevent iTemps from being considered to be in CODESPACE,
+         fixes bug #1221120; for symbols in CODESPACE get number of bytes to read from
+         OP_SYM_TYPE() instead of OP_SYM_ETYPE()
+
+2005-06-06 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
+
+       * device/include/mcs51/reg764.h: Changed PB0 to PBO as requested by
+         Marcel Telka in bug #1215704
+
+2005-06-02 Slade Rich <slade_rich AT users.sourceforge.net>
+
+       * src/pic/pcode.c : Changed pseudo stack size to 15 to allow WSAVE to be
+         located in shared memory bank.
+
+2005-05-31 Raphael Neider <rneider AT web.de>
+
+       * src/pic16/{gen.c,genarith.c}: replaced sign-extension
+         "CLRF, BTFSC <signbit>, DECF/COMF" with side-effect-free
+         "CLRF, BTFSC <signbit>, SETF"; fixes "long>>9"
+
+2005-05-27 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * device/lib/_strncpy.c: fixed the fix
+
 2005-05-26 Raphael Neider <rneider AT web.de>
 
        * src/pic16/glue.c (pic16_printIvalChar): fixed _constant_ string
        * src/pic16/main.c (_process_pragma): added sanity checks
          for stack position and size, emit warnings when appropriate
 
-2005-05-21 Maarten Brock <sourceforge.brock AT dse.nl>
+2005-05-26 Maarten Brock <sourceforge.brock AT dse.nl>
 
        * device/lib/_strncpy.c: fixed not filling with \0