+2006-03-28 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
+
+ * doc/sdccman.lyx: added paragraph "Use of SDCC in Education"
+ * src/mcs51/peeph.def: disabled rule 132.e fixing bug #1453093
+
+2006-03-23 Maarten Brock <sourceforge.brock AT dse.nl>
+
+ * src/z80/gen.c (genFunction, genEndFunction): fixed bug 1160666,
+ implemented patch 1120823 Thanks to Willy De la Court (normal
+ interrupts need an interrupt number now if they are made critical),
+ and enabled nesting of critical functions though not for gbz80
+ (genCritical, genEndCritical): added functions
+ (genZ80Code): added cases for CRITICAL and ENDCRITICAL
+ * src/z80/mappings.i: added "ei" to all mappings
+
+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,