+2004-04-12 Bernhard Held <bernhard AT bernhardheld.de>
+
+ * src/SDCCast.c (decorateType): fixed bug #898889,
+ cast result of a literal complement too
+
+2004-04-11 Bernhard Held <bernhard AT bernhardheld.de>
+
+ * src/SDCCicode.c (geniCodeLogic): made it static,
+ (geniCodeLogicAndOr): added in order to fix bug #905492,
+ (ast2iCode): fixed bug #905492
+ * support/regression/tests/bug-905492.c: added
+ * src/SDCCast.c (decorateType): don't decorate/process parms twice,
+ (processParms): fixed bug #927659: don't copy parms, this will clear
+ decorated flag
+ * support/regression/tests/bug-927659.c: added
+
+2004-03-29 Bernhard Held <bernhard AT bernhardheld.de>
+
+ * src/SDCCast.c (addCast): don't cast float to char
+ * device/lib/libsdcc.lib: added _memmove
+
+2004-03-28 Bernhard Held <bernhard AT bernhardheld.de>
+
+ * device/lib/large/Makefile: fixed parallel execution by
+ replacing `make` by `$(MAKE)`
+
+2004-03-28 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+ * src/hc08/gen.c (genPointerGetSetOfs): correctly handle 1 byte array
+ offsets (fixes bug #923936)
+
+2004-03-26 Bernhard Held <bernhard AT bernhardheld.de>
+
+ * device/lib/small/Makefile: fixed parallel execution by
+ replacing `make` by `$(MAKE)`
+
+2004-03-23 Bernhard Held <bernhard AT bernhardheld.de>
+
+ * device/lib/vprintf.c (vsprintf): minor optimization, see bug #801101
+
+2004-03-23 Scott Dattalo <scott AT dattalo.com>
+
+ * src/pic/gen.c (genCpl): multi-byte complements were not working.
+ * src/regression/Makefile: Regression test was not running.
+
+2004-03-23 Bernhard Held <bernhard AT bernhardheld.de>
+
+ * src/SDCCast.c (resultTypePropagate, decorateType): avoid promotion to int for
+ complement if possible
+ * src/SDCCval.c (valComplement),
+ * src/SDCCicode.c (operandOperation): fixed complement of literal
+ * support/regression/tests/onebyte.c (testComplement): added
+
+2004-03-22 Bernhard Held <bernhard AT bernhardheld.de>
+
+ * src/SDCCast.c (processParms): fixed bug #920866; decorateType() can
+ return an optimized tree; actually replace actParm with the new tree
+ * src/SDCCast.h: added some parantheses to remove side effects
+ * support/regression/tests/bug-920866.c
+
+2004-03-21 Scott Dattalo <scott AT dattalo.com>
+ * src/pic/gen.c, src/pic/gen.h, src/pic/genarith.c, src/pic/pcode.c:
+ Bit operands were not being handled properly in the pic14 port.
+ (now src/regression/add.c passes again).
+
+2004-03-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+ * src/SDCC.y (labeled_statement): case and default no longer require
+ a following statement (RFE #893037)
+
+2004-03-19 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+ * src/mcs51/gen.c (pushSide, genSignedRightShift, genDjnz, geniPush):
+ use MOVA macro to avoid "mov a,acc" when peephole optimizer is
+ disabled (fixes bug #916294)
+ * sim/ucsim/s51.src/mov.cc (inst_mov_a_addr): Throw an error on
+ "mov a,acc"; patch provided by Lenny Story
+ * device/include/mc68hc908gp32.h: header contibuted by Juan Gonzalez
+
+2004-03-19 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+ * src/mcs51/gen.c (genFunction): optimize RECEIVE in reentrant
+ functions
+ * src/ds390/gen.c (genFunction, genEndFunction),
+ * src/ds390/ralloc.c (ds390_assignRegisters),
+ * src/mcs51/gen.c (genFunction, genEndFunction, mcs51_assignRegisters):
+ * src/mcs51/ralloc.c (mcs51_assignRegisters): Skip optimizing registers
+ pushed if there are parameters passed on the stack. Also, a cleaner
+ way to decide if r0/r1 should be pushed/popped. (Together they fix
+ bug #918693)
+
+2004-03-18 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+ * doc/sdccman.lyx,
+ * device/lib/mcs51/crtpagesfr.asm,
+ * device/lib/mcs51/crtxinit.asm,
+ * device/lib/mcs51/crtxstack.asm: Changed name of _PAGESFR to _XPAGE
+ to avoid confusion with Si Lab's SFRPAGE register.
+
+2004-03-17 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+ * src/SDCCglue.c (emitMaps): allow public sfr variables
+ * src/SDCCglue.c (initialComments): include compiler build date
+ with compiler version and put the timestamp of the generated
+ assembly file on a serperate line to be less confusing.
+ * src/port.h: added genInitStartup hook
+ * src/avr/main.c,
+ * src/ds390/main.c,
+ * src/hc08/main.c,
+ * src/pic/main.c,
+ * src/pic16/main.c,
+ * src/xa51/main.c,
+ * src/z80/main.c: genInitStartup initialize as NULL (default to
+ historical behaviour)
+ * src/SDCCglue.c (glue): _sdcc_gsinit_startup is now port specific.
+ * src/mcs51/main.c: (_mcs51_genInitStartup, _mcs51_genExtraAreas,
+ _mcs51_genXINIT, _mcs51_genRAMCLEAR): link initialization code from the
+ library instead of hard coding it into the compiler.
+ * support/regression/ports/mcs51-stack-auto/spec.mk,
+ * src/SDCCmain.c (linkEdit): added mcs51.lib to the link libraries
+ * device/lib/mcs51/Makefile,
+ * device/lib/small/Makefile,
+ * device/lib/large/Makefile,
+ * device/lib/mcs51/crtpagesfr.asm,
+ * device/lib/mcs51/crtstart.asm,
+ * device/lib/mcs51/crtxclear.asm,
+ * device/lib/mcs51/crtxinit.asm,
+ * device/lib/mcs51/crtclear.asm,
+ * device/lib/mcs51/crtxstack.asm: move most of the mcs51 C runtime
+ startup/initialization out of src/SDCCglue.c and src/mcs51/main.c
+ and into user configurable files.
+ * device/lib/clean.mk: clean mcs51 directory too
+ * support/regression/tests/longlit.c: added static to T1 declaration
+ * doc/sdccman.lyx: documented _PAGESFR sfr for customizing pdata
+ accesses in the initialization code
+
+2004-03-14 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+ * device/include/mc68hc908qy.h: corrected declarations of FLBPR and
+ OSCTRIMVAL as noted in bug #916008
+
+2004-03-14 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+ * src/SDCCloop.c (basicInduction): fixed bug with loop induction
+ in loops with multiple exits (reported as incorrect registers
+ used by Martin Helmling in Sdcc-user list)
+
+2004-03-12 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
+
+ * src/ds390/main.c (_ds390_genAssemblerPreamble): cosmetic change,
+ made ds390 register extensions look less like error messages
+
+2004-03-12 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+ * src/SDCCglue.c (printIvalPtr): fixed bug with pointer initializer
+ reported by Adam Wozniak in Sdcc-user list
+
+2004-03-10 Bernhard Held <bernhard AT bernhardheld.de>
+
+ * src/SDCCast.c (decorateType): fixed with bug and promotion in
+ arithmetic optimizations, added debug output
+
2004-03-09 Bernhard Held <bernhard AT bernhardheld.de>
* device/lib/time.c (mktime): fixed bug reported by Bert Thomas
+ * sdcc.spec: updated and split sdcc into 3 rpms
+ * src/SDCCast.c (decorateType): &|^ don't need addCast(); addCast() is
+ needed for literals of LEFT_OP and '+'
+ * src/SDCCicode.c (geniCodeLogic): I must have been braindead when I
+ introduced RESULT_TYPE_NOPROM
+ (geniCodeMultiply): fixed logic for decision if mul is optimized to
+ left shift
+ * src/SDCCsymt.c (computeType): op is int; added RESULT_TYPE_OTHER;
+ limited promotion to int only for '*'
+ * src/SDCCsymt.h (computeType): op is int, removed RESULT_TYPE_NOPROM
2004-03-09 Hans Dorn <hjdorn AT users.sourceforge.net>