+2003-10-05 Bernhard Held <bernhard@bernhardheld.de>
+
+ * src/SDCCloop.c (assignmentsToSym, loopInduction): cast argument of
+ setToNull() to (void *) to avoid gcc3.x's warning: "dereferencing
+ type-punned pointer will break strict-aliasing rules"
+ Old LR behaviour is again default; Klaus' LR can be choosen by
+ defining the environment variable LRKLAUS
+ * src/SDCCBBlock.h
+ * src/SDCCloop.c
+ * src/SDCClrange.c
+ * src/ds390/ralloc.c (spillThis): applied Klaus' patch
+ * clean.mk: fixed removal of files in bin/CVS/
+ * device/lib/clean.mk: fixed removal of directories small and large
+ * support/Util/SDCCerr.c: changed W_INT_OVL to ERROR_LEVEL_PEDANTIC
+
+2003-10-05 Borut Razem <borut.razem@siol.net>
+
+ * src/SDCC.lex, support/Util/SDCCerr.c, sdcc/support/Util/SDCCerr.h:
+ Fixed bug #816692: introduced new ERROR_LEVEL_PEDANTIC warning
+ message "unmatched #pragma SAVE and #pragma RESTORE"
+
+2003-10-04 Frieder Ferlemann <Frieder.Ferlemann@web.de>
+
+ * doc/sdccman.lyx: various additions and updates (interrupts, inline
+ assembly, critical functions, atomic, nojtbound)
+
+2003-10-04 Bernhard Held <bernhard@bernhardheld.de>
+
+ Applied liferange patch from Klaus Flittner <klaus_flittner@gmx.de>
+ * src/SDCCBBlock.h
+ * src/SDCCloop.c
+ * src/SDCCloop.h
+ * src/SDCClrange.c
+
+2003-10-03 Erik Petrich <epetrich@ivorytower.norman.ok.us>
+
+ * src/z80/gen.h,
+ * src/z80/gen.c (aopOp, aopGet, aopPut, genDummyRead),
+ * src/mcs51/gen.h
+ * src/mcs51/gen.c (aopOp, aopGet, aopPut, genDummyRead),
+ * src/ds390/gen.h
+ * src/ds390/gen.c (aopOp, aopGet, aopPut, genDummyRead),
+ * src/SDCCicode.c (ast2iCode, geniCodeDummyRead): Fixed bug #663539
+ * src/SDCCopt.c (killDeadCode): Fixed bugs #663539 & #816705
+
+2003-10-02 Erik Petrich <epetrich@ivorytower.norman.ok.us>
+
+ * src/z80/gen.c (genRet): fixed bug #524753
+ * src/z80/gen.c (genCast): fixed internal error on cast from
+ pointer to long
+ * src/z80/gen.c (_saveRegsForCall, emitCall): adapted Johan's
+ fix for bug #477835 to the z80
+ * src/z80/gen.c (genZ80code, _vemit2, _emit2): added support
+ for tracking iCodes in the peephole optimizer for z80
+
+2003-10-01 Erik Petrich <epetrich@ivorytower.norman.ok.us>
+
+ * src/SDCCicode.c (geniCodeJumpTable, geniCodeSwitch): fixed
+ the other part of bug #814548
+ * src/SDCCpeeph.c (labelInRange): fixed bug #814558
+
+2003-09-30 Bernhard Held <bernhard@bernhardheld.de>
+
+ * src/SDCCcse.c: fixed part of bug #814548
+
+2003-09-28 Borut Razem <borut.razem@siol.net>
+
+ * src/asm.c: rewrite of printILine() to use temporary file instead
+ a pipe
+ * src/xa51/main.c: commented out declaration of int rewinds
+
+2003-09-27 Erik Petrich <epetrich@ivorytower.norman.ok.us>
+
+ * src/SDCCicode.c (geniCodeJumpTable): Fixed bug #813206
+
+2003-09-26 Erik Petrich <epetrich@ivorytower.norman.ok.us>
+
+ * src/SDCCdflow.c (computeDataFlow): Fixed bug #810746
+ * src/asm.c (printILine): Fixed bug #811015
+
+2003-09-22 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
+
+ *link/z80/lklibr.c, as/mcs51/lklibr.c: Improved memory allocation and
+ freeing.
+
+2003-09-21 Erik Petrich <epetrich@ivorytower.norman.ok.us>
+
+ * src/z80/gen.c (setupToPreserveCarry): Fixed bug #796955
+ * src/z80/gen.c (setupPair, genMovePairPair): Fixed setupPair
+ to correctly handle general case of AOP_PAIRPTR
+ * src/z80/gen.c (aopGet, aopPut): Generalized AOP_PAIRPTR handling
+
+2003-09-21 Erik Petrich <epetrich@ivorytower.norman.ok.us>
+
+ * src/mcs51/ralloc.c (fillGaps),
+ * src/ds390/ralloc.c (fillGaps): fixed bug #810093 (yet another
+ register positioning bug)
+
+2003-09-21 Bernhard Held <bernhard@bernhardheld.de>
+
+ * device/lib/_fsdiv.c: replaced (1<<31) by (1ul<<31)
+
+2003-09-19 Erik Petrich <epetrich@ivorytower.norman.ok.us>
+
+ * src/mcs51/gen.c (loadDptrFromOperand, genFarPointerGet,
+ genCodePointerGet, genGenPointerGet, genFarPointerSet,
+ genGenPointerSet): handle AOP_DPTR correctly when loading dptr
+ (ralloc doesn't intentionally do this now, but perhaps later)
+ * src/mcs51/ralloc.c (serialRegAssign, fillGaps),
+ * src/ds390/ralloc.c (serialRegAssign, fillGaps): fixed some
+ register positioning bugs (Fixed bug #762602 and #795325)
+ * src/SDCCicode.c (geniCodeDerefPtr): Track output class correctly
+ (Fixed bug #808779)
+ * src/z80/gen.c: increased _vemit2's buffer[] to handle long
+ lines that --i-code-in-asm generates
+
+2003-09-18 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
+
+ *link/z80/lklibr.c, as/mcs51/lklibr.c: Fixed Linux segfaults when
+ trying to fclose a FILE* that was already closed.
+
+2003-09-18 Erik Petrich <epetrich@ivorytower.norman.ok.us>
+
+ * src/SDCCsymt.c (structElemType): fixed bug #808291 (members
+ of const struct should be treated as if const themselves)
+
+2003-09-18 Bernhard Held <bernhard@bernhardheld.de>
+
+ * src/SDCCval.c (valPlus, valMinus): fixed bug #808337
+
+2003-07-06 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
+
+ * support/librarian/sdcclib.c: Generate correct offsets for libraries with
+ Unix (/n) and DOS (/r/n) line terminations.
+
+2003-09-17 Erik Petrich <epetrich@ivorytower.norman.ok.us>
+
+ * src/SDCCopt.c (cnvFromFloatCast, cnvToFloatCast): fixed
+ bug #613775
+
+2003-09-16 Erik Petrich <epetrich@ivorytower.norman.ok.us>
+
+ * src/mcs51/gen.c (genFunction, genEndFunction),
+ * src/ds390/gen.c (genFunction, genEndFunction): Moved save
+ and restore of EA so that stack offsets to parameters are
+ correct when using both critical and reentrant/stack-auto.
+ * src/z80/gen.c (aopOp): removed erroneous assertion about sloc
+ size (can be triggered in error if sloc is shared between
+ different sized objects)
+ * device/include/float.h: fixed macros to explicitly use
+ unsigned long where needed
+
+2003-09-15 Bernhard Held <bernhard@bernhardheld.de>
+
+ Feature req. 799831: added code to allow nesting of critical functions
+ * src/mcs51/gen.c (genFunction, genEndFunction)
+ * src/ds390/gen.c (genFunction, genEndFunction)
+
+2003-09-14 Erik Petrich <epetrich@ivorytower.norman.ok.us>
+
+ * src/SDCCsymt.c (sclsFromPtr),
+ * src/SDCCsymt.h,
+ * src/SDCCast.c (decorateType): fixed bug #462971. Also, better
+ support for standard C idiom of memory mapped variables; for
+ example, *((xdata int*)0x1234) = 1 is now internally equivalent
+ to xdata int at 0x1234 tempvar = 1.
+ * sim/ucsim/z80.src/inst_xd.cc: fixed bug #805483 with patch
+ provided by Akiya ISHIDA
+
+2003-09-13 Bernhard Held <bernhard@bernhardheld.de>
+
+ * src/SDCCval.c (cheapestVal): reenabled to reduce int to char
+ * src/SDCCval.c (constVal): added reduction from int to char
+ * src/SDCCval.c (valMult, valDiv): fixed sign handling
+ * src/SDCCval.c (valShift): fixed after change of cheapestVal()
+ * src/SDCCval.c (valCompare): fixed EQ_OP and NE_OP; they have
+ to ignore the sign
+ * support/regression/tests/shifts.c: fixed
+
+2003-09-13 Erik Petrich <epetrich@ivorytower.norman.ok.us>
+
+ * src/z80/gen.c (genXor): Fixed bug #805445
+
+2003-09-12 Erik Petrich <epetrich@ivorytower.norman.ok.us>
+
+ Fixed bug #621531 (const & volatile confusion in the type chain).
+ DCL_PTR_CONST, DCL_PTR_VOLATILE, & IS_PTR_CONST now exclusively
+ refer to the const or volatile state of the pointer itself.
+
+ * src/SDCCast.c
+ * src/SDCCglue.c
+ * src/SDCCicode.c
+ * src/SDCCsymt.c
+ * src/SDCCval.c
+ * src/SDCC.y
+ * src/SDCCsymt.h
+ * src/pic/gen.c
+ * src/pic/ralloc.c
+ * src/pic16/gen.c
+ * src/pic16/ralloc.c
+ * support/regression/tests/const.c
+
+2003-09-10 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
+
+ When checking for duplicated modules, use absolute paths
+ instead of relative paths. Files changed:
+
+ * as/mcs51/lklib.c
+ * link/z80/lklib.c
+
+2003-09-09 Erik Petrich <epetrich@ivorytower.norman.ok.us>
+
+ * src/SDCCicode.c (geniCodeLogic): fixed bug #797572
+
+2003-09-07 Erik Petrich <epetrich@ivorytower.norman.ok.us>
+
+ * device/include/string.h: added size_t typedef, changed
+ prototypes to use size_t, eliminated separate reentrant and
+ non-reentrant declarations, added _memmove declaration
+ * device/lib/_memcpy.c: changed to use size_t instead of int,
+ changed /4 to >>2 to avoid division library call
+ * device/lib/_memcmp.c,
+ * device/lib/_memset.c,
+ * device/lib/_strncat.c,
+ * device/lib/_strncpy.c,
+ * device/lib/_strncmp.c: changed to use size_t instead of int
+ * device/lib/_memmove.c: new file (fixed bug #772294)
+ * device/lib/Makefile.in: added _memmove.c
+ * device/lib/z80/asm_strings.s: fixed bug #772290
+ * support/regression/tests/bitfields.c: attempt to fix host assertion
+ failure on amd64-unknown-linux2.2
+
+2003-09-06 Erik Petrich <epetrich@ivorytower.norman.ok.us>
+
+ * src/z80/gen.c (aopPut, spillPairReg): fixed bug #800998
+ * src/z80/gen.c (genFunction, genEndFunction): fixed "bug" #774700
+ * as/z80/asmain.c (main): fixed bug #801766
+
+2003-09-06 Bernhard Held <bernhard@bernhardheld.de>
+
+ * src/SDCCicode.c (ast2iCode): fixed differences in iCode with different
+ compilers
+
+2003-09-05 Erik Petrich <epetrich@ivorytower.norman.ok.us>
+
+ * src/SDCCast.c (isConformingBody): fixed loop reversal bug
+ reported in bug #800609
+
+2003-09-04 Vangelis Rokas <vrokas@otenet.gr>
+
+ * Top header beautifications in src/pic16 directory:
+ device.c, device.h, gen.c, gen.h, genarith.c, glue.c, pcode.c,
+ pcodeflow.c, pcodeflow.h, pcode.h, pcodepeep.c, pcoderegs.c,
+ pcoderegs.h, ralloc.c, ralloc.h
+ * main.c: added top header and GPL license notice
+ * pcode.c: fixed the if-conditional warning
+
+2003-09-04 Bernhard Held <bernhard@bernhardheld.de>
+
+ * device/lib/_mullong.c: replaced int by short for gcc
+
+2003-08-31 Erik Petrich <epetrich@ivorytower.norman.ok.us>
+
+ * src/SDCCpeeph.c (notVolatile, notVolatileVariable): handle IFX
+ and JUMPTABLE iCodes properly now (worked by accident before)
+ * src/mcs51/gen.c (leftRightUseAcc),
+ * src/ds390/gen.c (leftRightUseAcc): handle IFX and JUMPTABLE
+ iCode properly now. Use getSize instead of nRegs since a & b
+ aren't part of the nRegs tally.
+
+2003-08-31 Vangelis Rokas <vrokas@otenet.gr>
+
+ * src/pic16/main.c: corrected offsets of interrupt vectors in _pic16_genIVT()
+ * src/pic16/pcode.c: fix to disable inserting BANKSEL directive
+ before instructions that use the _STATUS register
+
+2003-08-31 Bernhard Held <bernhard@bernhardheld.de>
+
+ * src/mcs51/gen.c (freeAsmop): fixed off by one in stack offset (AOP_STK)
+ * src/mcs51/gen.c (genNearPointerSet): added missing opcode for
+ fetching of the pointer
+ * src/mcs51/gen.c (genNearPointerGet): added reuse of PREG,
+ copied from genNearPointerSet()
+ * src/mcs51/gen.c (genNearPointerGet): don't pop r0/r1, if RESULTONSTACK
+ * src/mcs51/gen.c: changed order of freeAsmop(left/right/result)-calls.
+ If they pop r0/r1 they must be called in the opposite order than aopOp().
+ * device/lib/_mullong.c: fixed for "--model-large --int-long-reent"
+ (resp. --stack-auto), prepared for --xstack
+
+2003-08-28 Frieder Ferlemann <Frieder.Ferlemann@web.de>
+
+ * doc/sdccman.lyx: reverted tables to those in cvs 1.64
+
+2003-08-28 Bernhard Held <bernhard@bernhardheld.de>
+
+ * device/lib/_startup.c: quick & dirty fix for ds390/ds400;
+ these ports have their own __sdcc_external_start()
+
+2003-08-26 Bernhard Held <bernhard@bernhardheld.de>
+
+ pic patch provided by Slade Rich <slade_rich@yahoo.com>
+ * src/pic/glue.c (pic14printPublics): fixed bug introduced when symbol
+ type for bits was changed. It resulted in bit variables becoming
+ global, which is not permitted in PIC 14 assembly output.
+
+2003-08-23 Frieder Ferlemann <Frieder.Ferlemann@web.de>
+
+ * doc/sdccman.lyx: various additions and updates. Rearranged sections
+
+2003-08-22 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
+
+ Z80 and MCS51 linkers complaint if a public symbol is defined
+ in more than one library module:
+
+ * as/mcs51/lklib.c
+ * link/z80/lklib.c
+ * as/mcs51/Makefile.in
+
2003-08-22 Erik Petrich <epetrich@ivorytower.norman.ok.us>
A few small changes that speed up the peephole optimizer.
Rules 246.x, 247.x relate to bitfields, the others speed up
access to xdata mapped I/O devices.
- * src/mcs51/peeph.def: added 26 peepholes 246.x - 248.x, 180.x
+ * src/mcs51/peeph.def: added 26 peepholes 246.x - 248.x, 180.x
2003-08-16 Erik Petrich <epetrich@ivorytower.norman.ok.us>
An sfr/sbit can have an "at #" AND an initializer
* src/SDCCsymt.c (checkSClass):
* src/SDCCmem.c (allocGlobal):
- * src/SDCCmem.c (allocLocal):
+ * src/SDCCmem.c (allocLocal):
* src/SDCCast.c (createBlock):
2003-03-17 Bernhard Held <bernhard@bernhardheld.de>