* src/mcs51/gen.c (pushSide, genSignedRightShift, genDjnz, geniPush):
[fw/sdcc] / ChangeLog
index b9b5e1e52030d98f8bd072efc74774da14529538..f6b4061ff01c422932013ef2e214ebca46b055c2 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,80 @@
+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,