applied patch fixing GCC 4.1 build submitted by the Debian SDCC maintainer Aurelien...
[fw/sdcc] / ChangeLog
index d1717f6bca0ac8bba4d9ae9f86940b7434194d18..8bb494c7b7fc7cf65332f22cfed1625886f363bc 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,192 @@
+2006-03-20 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
+
+       * sim/ucsim/cmd.src/newcmdcl.h: applied patch fixing GCC 4.1 build
+       submitted by the Debian SDCC maintainer Aurelien Jarno: 
+       "Credits goes to Martin Michlmayr, who rebuilt the whole Debian
+       archive with gcc 4.1 on mips and wrote the patch"
+
+2006-03-16 Raphael Neider <rneider AT web.de>
+
+       * src/pic16/genarith.c (genAddLit): simplified and fixed case where
+         the left operand is shorter than the result (c* = lit-c* + int),
+         fixes bug #1450796
+       * src/pic16/gen.c (genRightShift): check IS_SYMOP before accessing
+         OP_SYMBOL
+
+2006-03-14 Vangelis Rokas <vrokas AT users.sourceforge.net>
+
+       * src/.version: increased version number to 2.5.5
+       * src/SDCCmain.c (linkEdit): do not test for PIC16 target since, PIC16
+       linking is done manually in pic16 port's _linkEdit,
+       * src/SDCCsymt.c (compStructSize): for target PIC16 and shell variable
+       PIC16_PACKED_BITFIELDS, compact bitfield structures as much as possible,
+       * src/pic16/gen.c (aopForSym): when direct register name is WREG then
+       allocate asmop as AOP_ACC,
+       (aopForRemat): added parameter 'bool result' in function declaration,
+       (pic16_aopGet): return AOP_ACC when accessing WREG,
+       (pic16_popGetTempReg): minor modification,
+       (pic16_popRegFromIdx): first try with 'pic16_regWithIdx' then with
+       'pic16_allocWithIdx',
+       (genPcall): removed ftype, usage of OP_SYM_TYPE asserted error when
+       calling function in absolute addresses,
+       (genAssign): take into account AOP_ACC asmop,
+       * src/pic16/pcode.c (pic16_newpCodeOpReg): minor modifications,
+       * src/pic16/pcoderegs.c: some debug functions and lines added,
+       * src/pic16/ralloc.c (decodeRegType): added but commented out,
+       * (pic16_typeRegWithIdx): search 'pic16_dynInternalRegs' for given
+       register too,
+       * (pic16_findFreeReg, pic16_findFreeRegNext): allocate new register via
+       call to allocReg, not by manually allocating a new one,
+       (pic16_assignRegisters): now before going through the register
+       allocating functions mark all registers as free. This eliminates some
+       side effects resulting from peephole parser done earlier in the backbone
+
+2006-03-13 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * src/SDCCicode.c (geniCodeLogic),
+       * src/SDCCast.c (decorateType): applied patch by Bernhard for rfe 1422617
+
+2006-03-10 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * src/mcs51/gen.c (sameReg): new, checks if two aop regs are the same,
+         (genSend): bugfix, do not allocate and free twice,
+         (shiftRLong): handle partially overlapping aops
+       * support/regression/tests/bitopcse.c: fixed warning redefined idata
+
+2006-03-08 Borut Razem <borut.razem AT siol.net>
+
+       * support/regression/fwk/include/testfwk.h: added defines for xdata, idata
+         for pic16
+
+2006-03-08 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * support/regression/tests/bug1409955.c: new, added
+       * src/mcs51/gen.h: changed asmop.freed:1 to asmop.allocated for tracking
+       * src/mcs51/gen.c (newAsmop): set asmop.allocated to 1,
+         (aopForSym, aopOp): increment asmop.allocated if reused,
+         (freeAsmop): decrement asmop.allocated and check for zero instead of
+         using asmop.freed,
+         (freeForBranchAsmop): use asmop.allocated instead of asmop.freed,
+         (genNot, genCpl, genUminus, genMinus, genMult, genDiv, genMod, genCmpGt,
+          genCmpLt, genAndOp, genOrOp, genAnd, genOr, genXor, genRRC, genRLC,
+          genGetHbit, genGetAbit, genGetByte, genGetWord, genSwap,
+          genLeftShiftLiteral, genLeftShift, genRightShiftLiteral,
+          genSignedRightShift, genRightShift, genDataPointerGet,
+          genPagedPointerGet, genFarPointerGet, genCodePointerGet,
+          genGenPointerGet, genDataPointerSet, genAssign, genCast): free asmop's
+           in reverse order from allocation,
+         (genPlus, genCmpEq): free asmop's in reverse order from allocation and
+           added swappedLR to keep track
+       * support/regression/fwk/include/testfwk.h: added defines for xdata, idata,
+         pdata & code for GCC, z80, gbz80 & hc08
+       * support/regression/tests/zeropad.c: moved defines to testfwk.h
+
+2006-03-08 Raphael Neider <rneider AT web.de>
+
+       * src/pic16/main.c (_hasNativeMulFor): fixed bug #1444425
+
+2006-03-07 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * device/include/mcs51/c8051f410.h: new SiLabs mcu
+       * src/ds390/peeph.def: disabled 186.d and 227.a as fix for #1434401
+       * support/regression/tests/array.c: added parenthesis, made arrays unsigned
+
+2006-03-06 Borut Razem <borut.razem AT siol.net>
+
+       * support/regression/ports/pic16/spec.mk: link with libm18f.lib,
+         made the linker quiet
+
+2006-03-06 Vangelis Rokas <vrokas AT users.sourceforge.net>
+
+       * src/pic16/gen.c (genPcall): fixed bug #1443644
+       * src/pic16/device.h (struct pic16_options_t): added 'int CATregs' flag
+       which dumps before the function entry point a data byte which represents
+       the number of the local variables used by the specified function, added
+       'xinst' for initial support for Extended Instruction Support,
+       * src/pic16/gen.c (aopForSym, pic16_aopGet): beautifications,
+       (pic16_testStackOverflow): do not prefix GSTACK_TEST_NAME with
+       port->fun_prefix anymore (may change later),
+       (genFunction, genEndFunction): do not store/restore local registers for
+       _main (this should take care the --main-return command line option in
+       the future),
+       (genOr): removed some legacy pic-port instructions,
+       * src/pic16/genarith.c (genAddLit): re-enabled old code because
+       performing operations with SFR's causes data to be written more than
+       once to each SFR. Perhaps SFRs should be handled in special cases...
+       * src/pic16/glue.c: macros BIG_ENDIAN and BYTE_IN_LONG are moved to
+       pcode.h
+       * src/pic16/main.c (_process_pragma): stack bound checking did not take
+       into account for stack starting position,
+       (struct OPTIONS pic16_optionsTable): added command line argument
+       --extended or -y for Extended Instruction Support,
+       * src/pic16/ralloc.c (pic16_decodeOp): added case for FUNCTION,
+       (deassignLRs): *** perhaps the most important change, old 'for' code
+       (commented out for reference), didn't account for some registers which
+       were left marked 'not free' after a pointer operation. The change
+       reduces register usage a lot in some cases
+
+2006-03-04 Borut Razem <borut.razem AT siol.net>
+
+       * support/regression/ports/hc08/spec.mk: remove *.asm in traget
+         _clean
+       * support/regression/tests/bug-524697.c: decreased array size for
+         mcs51 to fit into the internal RAM
+       * support/regression/Makefile.in: a little bit more verbose
+
+2006-03-03 Borut Razem <borut.razem AT siol.net>
+
+       * support/regression/fwk/lib/testfwk.c,
+         support/regression/fwk/include/testfwk.h: introduced function
+         _prints(), nonrecursive _printn(), call _initEmu() from main()
+       * support/regression/ports/gbz80/support.asm,
+         support/regression/ports/ucz80/support.asm,
+         support/regression/ports/z80/support.asm,
+         support/regression/ports/ds390/support.c,
+         support/regression/ports/hc08/support.c,
+         support/regression/ports/host/support.c,
+         support/regression/ports/mcs51/support.c,
+         support/regression/ports/xa51/support.c: added empty _initEmu()
+         function
+       * support/regression/ports/pic16/gpsim.cmd,
+         support/regression/ports/pic16/spec.mk,
+         support/regression/ports/pic16/support.c,
+         support/regression/Makefile.in: added pic16 regression test
+
+2006-03-01 Raphael Neider <rneider AT web.de>
+
+       * src/pic16/gen.c (genPcall,pic16_derefPtr,genGenPointerGet,
+         genConstPointerGet): use safe way of generating MOVFF to cover
+           literals as well as registers, fixes bug #1440527
+       * src/pic16/glue.c (pic16_printIvalBitFields): prevent NULL pointer
+           dereference
+         (pic16_printIvalUnion,pic16_isUnion): NEW, handle initialized unions
+           more correctly, fixes bug #1232186
+         (pic16_printIval): use pic16_printIvalUnion() for initialized unions
+       * src/pic16/main.c (_pic16_linkEdit): reorder linker arguments to make
+           gplink guess the correct processor in more cases, applied patch
+           from Till Riedel attached to and fixing bug #1436552
+
+2006-02-20 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
+
+       * support/regression/tests/array.c: added, contains check for #1434401
+       * src/mcs51/peeph.def: disabled 186.d as temporary fix for #1434401
+
+2006-02-16 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * device/include/mcs51/at89s8253.h: new, thanks to Krzysztof Polomka
+       * device/include/mcs51/at89S8252.h: fixed, thanks to Krzysztof Polomka
+       * device/include/mcs51/c8051f326.h,
+       * device/include/mcs51/c8051f340.h: new SiLabs mcu's
+       * device/include/mcs51/c8051f000.h,
+       * device/include/mcs51/c8051f018.h,
+       * device/include/mcs51/c8051f020.h: used () with __at, renamed IDLE,STOP to
+         PCON_IDLE,PCON_STOP and added sfr16 definitions
+
+2006-02-14 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * src/mcs51/gen.c (genPlus, genMinus, genMult, genGetAbit, genGetByte,
+         genGetWord): fixed bug 1409955
+
 2006-02-14 Maarten Brock <sourceforge.brock AT dse.nl>
 
        * device/include/hc08/mc68hc908gp32.h,
            created, reuse existing ones instead
        * src/pic/gen.c (genPcall): fixed #1424719
 
+2006-02-07 Bernhard Held <bernhard AT bernhardheld.de>
+
+       * link/z80/lkmain.c,
+       * link/z80/lklex.c,
+       * link/z80/lkdata.c,
+       * link/z80/aslink.h: fixed build on current cygwin:
+       replaced getline() by lk_getline()
+
 2006-02-01 Borut Razem <borut.razem AT siol.net>
 
        * src/regression/add.c, src/regression/add2.c, src/regression/add3.c,