* sim/ucsim/hc08.src/inst.cc,
[fw/sdcc] / ChangeLog
index 58a629de0065a128af4e5f8513be235b3cde322d..c620a1a01ac63ae1e2fe6d2df9e923a5794b94f4 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,271 @@
+2003-12-01 Erik Petrich <epetrich@ivorytower.norman.ok.us>
+
+       * sim/ucsim/hc08.src/inst.cc,
+       * sim/ucsim/hc08.src/hc08mac.h: fixed some problems with CC flag bits and
+       carries from x to h
+       * src/hc08/gen.c (aopAdrStr): fixed problem with 16 bit immediate
+       * src/hc08/gen.c (XAccRsh): fixed problem with right shift
+       * device/include/stdarg.h: fixed varargs for hc08
+       * device/lib/Makefile.in,
+       * device/lib/hc08/Makefile,
+       * device/lib/hc08/_mulint.c,
+       * device/lib/hc08/_mullong.c: fixed some endian problems
+
+2003-11-28 Frieder Ferlemann <Frieder.Ferlemann@web.de>
+
+       * sdcc/src/mcs51/gen.c (genMultOneByte): help peephole 105
+       * sdcc/src/mcs51/peeph.def: added peephole 186.e array access in code space
+       * device/lib/_gptrget.c,
+       * device/lib/_gptrput.c: P2 not used any more (related to #850747, #785979)
+
+2003-11-27 Erik Petrich <epetrich@ivorytower.norman.ok.us>
+
+       * src/SDCClrange.c (findNextUseSym, rlivePoint): fixed bug #849795
+       * src/SDCCast.c (astErrors): fixed bug #846007
+       * src/SDCCsymt.c (checkFunction): fixed follow-up bug on bug #846007
+
+2003-11-26 Erik Petrich <epetrich@ivorytower.norman.ok.us>
+
+       * src/SDCCast.c (decorateType): disabled a transformation I added in
+       revision 1.188 (access to fields of a structure at an absolute address);
+       it breaks with bitfields, extern declarations, and gcse analysis.
+       * src/SDCCopt.c (isLocalWithoutDef): if ADDRESS_OF applied to a symbol, it
+       could be assigned through a pointer, so don't complain.
+       * src/SDCCast.c (astErrors),
+       * src/SDCCast.h,
+       * src/SDCCglue.c (emitRegularMap): fixed bug #847813
+
+2003-11-26 Vangelis Rokas <vrokas@otenet.gr>
+       
+       * src/pic16/main.c (_pic16_genIVT): fixed interrupt vector table
+       * src/pic16/main.c (_pic16_genAssemblerPreamble): re-enabled the
+       output of __config directives, since gpasm now supports them
+       * src/pic16/main.c (_pic16_finaliseOptions): define MCU
+       pre-processor macro, i.e. -DMCU=p18f452
+       * src/pic16/ralloc.c: renamed packRegisters to pic16_packRegisters,
+       and modified to handle 'cast' icode similarly to '=' icode
+       * src/pic16/device.h (typedef struct PIC_device): added field
+       'extMIface' to indicate that chip has external memory interface
+       * src/pic16/device.c: added chips 18F248, 18F258, 18F448, 18F458,
+       18F6520, 18F6620, 18F6680, 18F6720, 18F8520, 18F8620, 18F8680,
+       18F8720
+
+2003-11-26 Erik Petrich <epetrich@ivorytower.norman.ok.us>
+
+       * src/SDCC.y (pointer): fixed bug #846006
+       * support/Util/SDCCerr.c: made W_PTR_TYPE_INVALID message clearer
+       * src/SDCCast.c (decorateType): fixed bug #846009
+       * src/ds390/peeph.def,        
+       * src/ds390/gen.c (genAnd, genOr),
+       * src/mcs51/peeph.def,        
+       * src/mcs51/gen.c (genAnd, genOr): fixed bug #846777
+
+2003-11-25 Erik Petrich <epetrich@ivorytower.norman.ok.us>
+
+       Fixed several common-sub-expression bugs (#772861, #768380, & #755323)
+       * src/SDCCdflow.c
+       * src/SDCCcse.c
+       * src/SDCCcse.h
+       * src/SDCCBBlock.h
+       * src/SDCCBBlock.c
+
+2003-11-23 Klaus Flittner <klaus_flittner@gmx.de>
+
+       fixed bug #845089
+       * src/SDCCbitv.h,
+       * src/SDCCbitv.c: added function to free a bitvector
+       * src/SDCClrange.h,
+       * src/SDCClrange.c: added function to recompute the liveranges
+       * src/avr/ralloc.c,
+       * src/ds390/ralloc.c,
+       * src/hc08/ralloc.c,
+       * src/mcs51/ralloc.c,
+       * src/pic/ralloc.c,
+       * src/pic16/ralloc.c,
+       * src/xa51/ralloc.c,
+       * src/z80/ralloc.c: recompute the liveranges after register packing
+
+2003-11-21 Klaus Flittner <klaus_flittner@gmx.de>
+
+       * src/SDCCloop.c (newInduction): fixed bug #845630
+
+2003-11-21 Erik Petrich <epetrich@ivorytower.norman.ok.us>
+
+       * src/SDCCsymt.c (compareTypesExact): disabled debugging output
+       inadvertantly left behind from my 2003-11-12 change
+
+2003-11-20 Erik Petrich <epetrich@ivorytower.norman.ok.us>
+
+       Updated headers I neglected to commit yesterday.
+       * src/SDCClrange.h,
+       * src/SDCCicode.h
+
+2003-11-19 Erik Petrich <epetrich@ivorytower.norman.ok.us>
+
+       * src/SDCCcse.c (algebraicOpts): fixed bug #773153
+       * src/SDCClrange.c (rlivePoint): need to mark IC_RESULT used if POINTER_SET op
+       * src/SDCCopt.c (eBBlockFromiCode),
+       * src/SDCClrange.c (hashiCodeKeys, sequenceiCode, computeLiveRanges): seperated
+       the creation of the key hash table from the sequencing so it can be used
+       earlier (for some GCSE bug fixes still pending)
+
+2003-11-15 Frieder Ferlemann <Frieder.Ferlemann@web.de>
+
+       * src/mcs51/gen.c (genPlus): generate shortcut for adding 0xab00
+       * support/regression/tests/addsub.c: testing genPlus shortcut
+
+2003-11-15  Borut Razem <borut.razem@siol.net>
+
+       * src/SDCCmain.c: fixed bug #841645: -MM command line option passed to sdcpp
+
+2003-11-15 Erik Petrich <epetrich@ivorytower.norman.ok.us>
+
+       * src/SDCCcse.c (cseBBlock): fixed bug #527779
+       * src/SDCCcse.c (deleteGetPointers): rewrote so that the set
+       ordering is immaterial.
+       * src/SDCCdflow.c (mergeInExprs): fixed bug #587536
+
+2003-11-14 Erik Petrich <epetrich@ivorytower.norman.ok.us>
+       
+       * src/SDCCicode.c (geniCodeAddressOf): fixed part of bug #840381
+       * src/SDCCopt.c (replaceRegEqv, isLocalWithoutDef): fixed other part
+       (SIGSEV) of bug #840381
+       * src/SDCCmain.c (linkEdit, assemble): fixed bug #841606 (don't
+       unlink new file before rename if new and old filenames are the same)
+
+2003-11-13 Frieder Ferlemann <Frieder.Ferlemann@web.de>
+
+       * src/mcs51/main.c: started fixing bug #737001 (SDCC not clearing
+       uninitialized variables) for the mcs51. Set environment variable 
+       SDCC_GENRAMCLEAR to test. 
+       xdata initialization slightly shorter
+
+2003-11-12 Erik Petrich <epetrich@ivorytower.norman.ok.us>
+
+       * src/SDCCsymt.h,
+       * src/SDCCsymt.c (addSymTypeChain, compareTypesExact): fixed bugs
+       #838241 & 780691 (basicly the same bug)
+       * src/SDCCBBlock.c (iCode2eBBlock): fixed bug #840148
+       * src/SDCCBBlock.c (iCodeFromeBBlock): fixed bug #840162
+
+2003-11-11 Bernhard Held <bernhard@bernhardheld.de>
+
+       * src/SDCCmain.c (linkEdit): "fix" #834252
+
+2003-11-11 Erik Petrich <epetrich@ivorytower.norman.ok.us>
+
+       * src/SDCCast.c (removePostIncDecOps, removePreIncDecOps),
+       * src/SDCCast.h,
+       * src/SDCC.y: fixed bug #819403
+
+2003-11-08 Erik Petrich <epetrich@ivorytower.norman.ok.us>
+
+       * support/regression/fwk/lib/testfwk.c: printn is recursive and thus needs
+       the reentrant attribute.
+       * src/hc08/gen.c (genPackBits): added missing stack readjustment
+       * sim/ucsim/hc08.src/inst.cc (inst_mov): fixed bugs with mov instruction
+       simulation
+       * src/SDCCast.c (decorateType): fixed bug with storage class not being
+       updated during pointer dereference; f.e. ~(((char *)1)*) was being
+       erroneously reduced to a literal.
+       * src/hc08/ralloc.c (packRegisters, rematStr),
+       * src/hc08/gen.c (aopForRemat): allow literals to be rematerialized in
+       some cases
+
+2003-11-08 Frieder Ferlemann <Frieder.Ferlemann@web.de>
+
+       * src/mcs51/main.c: fixed bug #838385. Thanks to Josef Pavlik for finding and fixing
+       * doc/sdccman.lyx: changed from 'article' to 'book'
+       * doc/Makefile: readded test_suite_spec and cdbfileformat
+
+2003-11-08 Bernhard Held <bernhard@bernhardheld.de>
+
+       * device/include/stdlib.h: include malloc.h to comply with ANSI
+       * support/regression/tests/malloc.c: include stdlib.h instead of malloc.h
+
+2003-11-07 Frieder Ferlemann <Frieder.Ferlemann@web.de>
+
+       * doc/Makefile: sdccman.pdf should build with correct references (more info in commit msg)
+       * doc/clean.mk: also remove *.out files
+       * doc/sdccman.lyx: some additions, larger top/bottom margins
+
+2003-11-07 Erik Petrich <epetrich@ivorytower.norman.ok.us>
+
+       * src/SDCC.y: fixed bug #837365
+       * support/regression/tests/bitopcse.c
+       * src/hc08/gen.c (genPointerGet): Don't assume pointer operand is
+       a symbol (might be valop instead)
+       * device/lib/Makefile.in: added errno.c to HC08SOURCES
+       * device/lib/clean.mk: added hc08 to the cleaning list
+
+2003-11-04  Borut Razem <borut.razem@siol.net>
+
+       * configure, configure.in, sdcc_vc_in.h, sdcconf_in.h: reverted changes,
+         made 2003-11-04
+       * support/Util/NewAlloc.c, as/hc08/lklibr.c, as/mcs51/lklibr.c,
+         as/z80/aslist.c, as/z80/assym.c: removed inclusion of nonstandard malloc.h;
+         malloc is declared in standard stdlib.h
+
+2003-11-06 Erik Petrich <epetrich@ivorytower.norman.ok.us>
+
+       * device/lib/hc08/Makefile: need to clean .rel not .o files
+       * src/hc08/gen.c (genDjnz): can't use djnz with extended addressing mode
+
+2003-11-06 Erik Petrich <epetrich@ivorytower.norman.ok.us>
+
+       * src/port.h,
+       * src/hc08/main.c,
+       * src/mcs51/main.c,
+       * src/ds390/main.c,
+       * src/z80/main.c,
+       * src/avr/main.c,
+       * src/pic/main.c,
+       * src/pic16/main.c,
+       * src/xa51/main.c: added hasExtBitOp & oclsExpense functions to ports
+       * src/SDCCicode.c: changed several IS_FARSPACE tests to isOclsExpensive
+       tests (which uses the port's oclsExpense function)
+       * src/SDCC.y,
+       * src/SDCCast.c,
+       * src/SDCCicode.c,
+       * src/hc08/gen.c,
+       * src/ds390/gen.c,
+       * src/mcs51/gen.c: added support for the SWAP iCode (RFE #834167)
+
+2003-11-04 Erik Petrich <epetrich@ivorytower.norman.ok.us>
+
+       * src/SDCCcse.c (ifxOptimize),
+       * src/SDCClabel.c (labelIfx, deleteIfx): When the condition to
+       an IFX iCode is volatile, convert to DUMMY_READ_VOLATILE instead
+       deleting the IFX iCode.
+       * src/hc08/ralloc.c: reduced unneeded slocs
+       * src/hc08/gen.c: fixed bug in asmopToBoolean
+
+2003-11-04  Borut Razem <borut.razem@siol.net>
+
+       * configure, configure.in, sdcc_vc_in.h, sdcconf_in.h,
+         support/Util/NewAlloc.c, as/hc08/lklibr.c, as/mcs51/lklibr.c,
+         as/z80/aslist.c, as/z80/assym.c: decision to include malloc.h
+         transferred to configure
+
+2003-11-03 Bernhard Held <bernhard@bernhardheld.de>
+
+       Use headers defined in the C[++] standards:
+       * sim/ucsim/gui.src/serio.src/fileio.cc
+       * sim/ucsim/gui.src/serio.src/frontend.cc
+       * sim/ucsim/gui.src/serio.src/main.cc
+       * sim/ucsim/gui.src/serio.src/posix_signal.cc
+       * support/Util/NewAlloc.c
+       * as/hc08/lklibr.c
+       * as/mcs51/lklibr.c
+       * as/z80/aslist.c
+       * as/z80/assym.c
+
+2003-11-03  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
+
+       * Added MSVC projects for hc08 assembler and linker:
+       all.dsp, config.dsp, sdcc.dsw, /as/hc08/as_hc08.dsp,
+       /as/hc08/link_hc08.dsp
+
 2003-11-03 Martin Helmling <Martin.Helmling@octo-soft.de>
 
         * debugger/mcs51/cmd.c: allows filename starting with digit(+ some debug)