* sim/ucsim/cpu.gif, sim/ucsim/interrupt.gif, sim/ucsim/new.gif,
[fw/sdcc] / ChangeLog
index daa3404e4bbc8afd9ae7780743bd4575a32f20fc..7e73b0c5397fd93c588dccea94c2afdcac0421cd 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,690 @@
-2005-12-10 Bernhard Held <bernhard AT bernhardheld.de>
+2006-04-24 Borut Razem <borut.razem AT siol.net>
+
+       * device/examples/main8051.c: deleted - it was removed from CVS
+         24.mar.2000 and after that modified 18.feb.2001, so it reappered
+         after the transition to Subversion 
+       * src/SDCCalloc.h: deleted - it was removed  from CVS
+         3.feb.2001 and after that modified 18.feb.2001, so it reappered
+         after the transition to Subversion 
+       * sim/ucsim/cpu.gif, sim/ucsim/interrupt.gif, sim/ucsim/new.gif, 
+         sim/ucsim/serial1.gif, sim/ucsim/serial2.gif,
+         sim/ucsim/term_cpuopt.gif, sim/ucsim/timers.gif, sim/ucsim/wins.gif,
+         sim/ucsim/post.jpg, sim/ucsim/UCsim.jpg: corrected
+
+2006-04-22 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * as/asx8051.dsp: added mcs51/strcmpi.h
+       * as/hc08/as_hc08.dsp: added asm.h, m6808.h, strcmpi.h
+       * as/hc08/aslink.h: updated lnksect prototype
+       * as/hc08/asm.h,
+       * as/mcs51/asm.h: added a_addr to struct area and s_org to struct sym
+       * as/hc08/asmain.c,
+       * as/mcs51/asmain.c (asmbl): init dot.s_org for S_ORG,
+         (newdot): handle A_ABS
+       * as/hc08/asout.c,
+       * as/mcs51/asout.c (outarea): output address
+       * as/hc08/lkaomf51.c,
+       * as/mcs51/lkaomf51.c: disabled unused array UsageType
+       * as/hc08/m08pst.c,
+       * as/mcs51/i51pst.c,
+       * as/z80/z80pst.c: "ABS" is not A_OVR
+       * as/hc08/lkarea.c (newarea): read a_addr,
+         (lnkarea): added codemap array, sort absolute areas to the front,
+          combine all GSINITx/GSFINAL,
+         (find_empty_space, allocate_space): new functions,
+         (lnksect): return next address, handle absolute sections
+       * as/mcs51/lkarea.c (newarea): read a_addr,
+         lnksect2 prototype changed,
+         (lnkarea2): define codemap unsigned, combine all GSINITx/GSFINAL,
+         (find_empty_space, allocate_space): new, factored out of lnksect2,
+         (lnksect2): return next address, handle absolute sections
+       * as/hc08/lkhead.c,
+       * as/mcs51/lkhead.c (newhead): head is absolute but not overlay
+       * as/hc08/lklibr.c (addfile, fndsym),
+       * as/mcs51/lklibr.c (addfile, buildlibraryindex, fndsym): prevent
+         index out of range and detect both '\' and '/'
+       * device/include/mcs51/c8051f200.h: added _XPAGE, removed bad comment
+       * device/include/stdbool.h: removed SDCC_ds390 from check to pass
+         regression tests (ds390 cannot return bool yet)
+       * doc/sdccman.lyx: changed version number, document changed --no-peep,
+         document critical interrupts on z80, document changed SDCC define
+       * src/asm.c (_asxxxx_mapping): fixed .org directive,
+         (_a390_mapping): added .org directive
+       * src/hc08/gen.c (transferAopAop): made bytemask log to fix warning,
+         (genMultOneByte): fixed warnings
+       * src/hc08/hc08.dsp: lowered warning level to 2 to suppress pedantic
+         ones
+       * src/pic16/device.c: removed newReg prototype, removed BYTE_IN_LONG
+       * src/pic16/gen.c (pic16_popGetLabel): made parameter key signed,
+         (pic16_genLeftShiftLiteral, genRightShiftLiteral): fixed warnings
+       * src/pic16/gen.h: changed prototype for pic16_popGetLabel
+       * src/pic16/main.c: removed newReg prototype
+       * src/pic16/pcode.c,
+       * src/pic16/pcode.h (pic16_emitDB): changed parameter c to int to fix
+         warnings
+       * src/pic16/pic16.dsp: lowered warning level to 2 to suppress pedantic
+         ones
+       * src/pic16/ralloc.c
+       * src/pic16/ralloc.h (newReg): changed type to int and size to unsigned
+         to fix warnings
+       * src/pic/pcode.c (allocInternalRegister): changed parameter optype
+         from short to PIC_OPTYPE
+       * src/pic/pic.dsp: lowered warning level to 2 to suppress pedantic ones
+       * src/pic/ralloc.c (newReg, allocInternalRegister): changed parameter
+         optype from short to PIC_OPTYPE
+       * src/port.h: made int_size unsigned to fix warnings
+       * src/SDCC.y: fixed warning on MSVC
+       * src/SDCCicode.c (getArraySizePtr): return unsigned int
+       * src/SDCCopt.c (convertToFcall): fixed warnings
+       * src/SDCCsymt.h: removed double prototype for genSymName
+       * src/xa51/ralloc.c (allocReg): made size unsigned int, type int and
+         offset int to fix warnings
+
+2006-04-22 Borut Razem <borut.razem AT siol.net>
+
+       * doc/sdccman.lyx, */Makefile, */Makefile.in:
+         references to CVS replaced with Subversion
+
+2006-04-21 Borut Razem <borut.razem AT siol.net>
+
+       * doc/sdccman.lyx, */Makefile, */Makefile.in:
+         references to CVS replaced with Subversion
+
+2006-04-19 Borut Razem <borut.razem AT siol.net>
+
+       * src/version.awk: adapted for svn
+       * /asxxxx/asxhtml/*.gif: set property svn:mime-type to image/gif
+         sim/ucsim/doc/*.gif: set property svn:mime-type to image/gif
+         sim/ucsim/doc/*.jpg: set property svn:mime-type to image/jpeg
+         /binutils-avr/etc/*.vi, *.jin: removed all properties
+         support/scripts/sdcc.ico: set property svn:mime-type to image/x-icon
+
+2006-04-19 Borut Razem <borut.razem AT siol.net>
+
+       * CVS to Subversion migration completed
+
+2006-04-18 Borut Razem <borut.razem AT siol.net>
+
+       * support/scripts/sdcc.nsi: removed unexisting ${DEV_ROOT}\lib\pic\*.o,
+         ${DEV_ROOT}\lib\src\pic\libdev\*.S, ${DEV_ROOT}\lib\src\pic\libdev\*.inc
+
+2006-04-17 Borut Razem <borut.razem AT siol.net>
+
+       * device/include/Makefile.in: added pic/*.inc to the installation
+
+2006-04-15 Bernhard Held <bernhard AT bernhardheld.de>
+
+       * support/regression/collate-results.py: fixed output in case of
+       a valdiag error
+       * support/regression/generate-cases.py: fixed splitting of pathnames
+       with dots
+       * as/hc08/lklibr.c (addfile),
+       * as/mcs51/lklibr.c (addfile): fixed off-by-one bug
+
+2006-04-11 Raphael Neider <rneider AT web.de>
+
+       * src/pic16/gen.c (getFreePtr, pic16_popRegFromString),
+       * src/pic16/ralloc.c (pic16_allocregWithName): removed debug output
+       * src/pic16/pcode.c (assignValnums): fixed #1460578
+
+2006-04-11 Raphael Neider <rneider AT web.de>
+
+       * device/lib/pic/libdev/*.c,
+       * device/include/pic/*.h: replaced sfr and data with __sfr and __data,
+         fixes #1468739, enables compilation in --std-c99 mode
+       * support/scripts/inc2h.pl: emit __sfr/__data instead of sfr/data
+
+2006-04-11 Raphael Neider <rneider AT web.de>
+
+       * src/pic/device.c (find_device): removed debug output
+         (list_valid_pics): enabled verbose listing of supported devices
+       * device/include/stdbool.h: define bool as char for pic14/16 as well
+
+2006-04-07 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
+
+       * src/SDCC.y: allow using brackets here: "__interrupt (1) __using (1)"
+
+2006-04-07 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * .version: bumped version to 2.5.6
+       * src/pic/ralloc.c (newReg): MSVC doesn't support __builtin_return_address
+
+2006-04-06 Raphael Neider <rneider AT web.de>
+
+       * .version: bumped version to 2.5.6 (pic14 ABI changed)
+       * src/SDCCmain.c: add -DSDCC_PROCESSOR=<id> for pic14 port
+       * src/pic/glue.c (emitSymbolToFile,pic14_constructAbsMap,
+         pic14emitRegularMap,pic14emitMaps): moved output for absolute symbols to
+           pic14_constructAbsMap
+         (pic14printPublics): declare absolute global symbols as global
+         (pic14createInterruptVect),
+       * src/pic/ralloc.c (IS_CONFIG_ADDRESS): support second config word,
+         (newReg): assume new registers unused, use correct name in
+           hashtable (reg->name instead of name), more debugLog output
+       * src/pic/device.h (PIC_device): added fields for verbose output
+       * src/pic/device.c: moved device definition to pic14devices.txt,
+           added routines for runtime parsing of pic14devices.txt,
+           added support for second config word
+       * src/pic/main.c (_process_pragma): removed #pragma maxram,
+         (_pic14_keywords): no longer accept "bit" and "sbit" keywords
+         (_pic14_initPaths): add search paths with "pic" suffix (not "pic14")
+         (_pic14_parseOptions): moved pCodeInitRegisters here
+         (_pic14_do_link): add "pic$(ARCH).lib" to linker arguments
+       * src/pic/pcode.c (AnalyzeBanking): bail out on unset processor,
+         (pCodeInitRegisters): rewrapped comments, perpared new approach to
+           handling the pseudo stack
+       * device/lib/Makefile.in: ignore failures in objects-pic16,
+       * device/lib/pic/{configure,configure.in,Makefile}: added libdev/
+       * device/lib/pic/NEWS: document new dependency on picXXX.lib
+       * device/lib/pic/Makefile.subdir,
+       * device/lib/pic16/Makefile.subdir: improved clean rules
+       * device/lib/pic/libdev/: NEW, pic14 device libraries
+       * device/lib/pic/libsdcc/_gptr{get,put}{1,2,3,4}.S: use _X not X
+       * device/lib/pic/libsdcc/macros.inc: use _X not X, declare default SFRs
+       * device/include/Makefile.in: create subdir and install pic14 headers
+       * device/include/pic/p16f_common.inc: removed unused declarations
+       * device/include/pic/pic16*.h: added header files for 100+ 14 bit
+           PICs from inc2h.pl v1.6,
+           replaced BIT_AT macros with struct declarations
+       * device/include/pic/pic14devices.txt: definition of supported devices,
+           all above improvements contributed by Zik Saleeba, thanks
+       * support/scripts/inc2h.pl: removed BIT_AT, replaced with structs
+       * support/scripts/sdcc.nsi: also install pic14 device libraries and
+           headers
+
+2006-04-06 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * device/include/mcs51/c8051f410.h: added interrupt numbers,
+       * device/include/mcs51/c8051f200.h: old SiLabs mcu completes the list,
+         thanks to Charles Olds
+
+2006-04-06 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
+
+       * debugger/mcs51/cmd.c (infoRegisters): show return address on stack
+
+2006-04-06 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * src/SDCCpeeph.c (labelIsReturnOnly): fixed bug 1464657
+       * src/mcs51/gen.c (genJumpTab): fixed bug in medium model
+       * support/regression/bug1464657.c: added, new test
+
+2006-04-05 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * src/SDCCmain.c (preProcess): implemented RFE 1449908, define SDCC as the
+         version number
+
+2006-04-05 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * src/SDCCpeeph.c (initPeepHole): implemented RFE 1460196, when both
+         --no-peep and --peep-file <file> are used don't use default rules but
+         do use the <file>
+
+2006-04-05 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * src/mcs51/gen.c (genCall): fixed bug 1457608
+
+2006-03-30 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
+
+       * doc/sdccman.lyx: reverted to version 1.129 of december as my latest
+       changes seem to cause (trigger?) problems with the build system.
+
+2006-03-29 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * src/SDCCpeeph.c (operandsLiteral): new, added,
+         (callFuncByName): inserted operandsLiteral
+       * src/mcs51/peeph.def: reenabled 132.e, added extra check to 132.x
+
+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-24 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,
+         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,
+       * device/include/hc08/mc68hc908jb8.h: removed AWUL, added PTA6 & PTA7
+
+2006-02-13 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * src/SDCCast.c (constExprValue): return NULL if not a value
+       * src/SDCCglue.c (printIvalArray): fixed bug 1225568
+       * src/hc08/gen.c(genUnpackBits, genUnpackBitsImmed): fixed bug 1019480
+       * support/regression/tests/bitfields.c: enabled signed bitfield for all
+
+2006-02-13 Borut Razem <borut.razem AT siol.net>
+
+       * src/regression/ptrarg.c: added, fails due to bug #1430967
+       * src/regression/Makefile: ptrarg.c added, ...
 
-       * src/SDCCicode.c (fgeniCodeAssign): fixed bug 11369874, don't use
+2006-02-12 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * src/z80/gen.c (genUnpackBits): fixed bug 1019480
+       * support/regression/tests/bitfields.c: enabled signed bitfield for z80
+
+2006-02-11 Borut Razem <borut.razem AT siol.net>
+
+       * src/SDCCmain.c: Added "sdcc: Calling linker..." if --verbose,
+         print "Processor: xxx" message to stdout only if --verbose
+
+2006-02-11 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * src/SDCCglue.c (printIvalStruct): fixed bug 1426356 union initializer
+       * support/regression/tests/bug1426356.c: added
+       * support/regression/tests/bitfields.c: removed 2 tests
+
+2006-02-10 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * device/include/mcs51/at89c51snd1c.h: updated comments, see patch 1428901
+       * device/include/mcs51/c8051f330.h,
+       * device/include/mcs51/c8051f350.h: used () with __at, renamed IDLE,STOP to
+         PCON_IDLE,PCON_STOP and added sfr16 definitions
+       * device/lib/_divsint.c,
+       * device/lib/_divuint.c,
+       * device/lib/_divulong.c,
+       * device/lib/_divulong.c: renamed a,b to x,y to avoid confusion, fixed
+         register bank bug for small stackauto
+
+2006-02-09 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * support/regression/fwk/lib/timeout.c: include <stdlib.h> for exit()
+
+2006-02-08 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * support/regression/ports/mcs51-xstack-auto/spec.mk: forgot -I(...)/mcs51
+       * all.dsp: corrected several bin paths
+       * device/include/mcs51/c8051f120.h,
+       * device/include/mcs51/c8051f300.h,
+       * device/include/mcs51/c8051f310.h: used () with __at and renamed IDLE,STOP
+         to PCON_IDLE,PCON_STOP
+       * device/include/mcs51/c8051f320.h: see above, also added sfr16 definitions
+       * device/lib/printf_large.c (output_float): fixed bug 1388703
+       * support/regression/tests/bug1057979.c: added test for bug 1388703
+
+2006-02-08 Raphael Neider <rneider AT web.de>
+
+       * src/pic/pcode.c (pciTRIS): fixed typo,
+         (BuildFlow,LinkFlow_pCode): added (disabled) debug output,
+         (LinkFlow): fixed handling of flows that end in a call,
+         (ReuseReg): perform safety check earlier
+       * src/pic/pcoderegs.c (pCodeRegMapLiveRangesInFlow): fixed
+           to work with flows at the beginning of a pBlock,
+           fixes #1426557 (Symbol not previously defined),
+         (pic14_ReMapLiveRanges): NEW, destroy and rebuild register
+           usage information
+         (RemoveUnusedRegisters): update register usage info
+       * src/pic/ralloc.c (newReg): prevent duplicate registers from being
+           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,
+         src/regression/add4.c, src/regression/and1.c, src/regression/and2.c,
+         src/regression/arrays.c, src/regression/b.c, src/regression/bank1.c,
+         src/regression/bool1.c, src/regression/bool2.c,
+         src/regression/bool3.c, src/regression/call1.c,
+         src/regression/compare.c, src/regression/compare10.c,
+         src/regression/compare2.c, src/regression/compare3.c,
+         src/regression/compare4.c, src/regression/compare5.c,
+         src/regression/compare6.c, src/regression/compare7.c,
+         src/regression/compare8.c, src/regression/compare9.c,
+         src/regression/configword.c, src/regression/for.c,
+         src/regression/inline.c, src/regression/mult1.c,
+         src/regression/nestfor.c, src/regression/or1.c,
+         src/regression/pointer1.c, src/regression/ptrfunc.c,
+         src/regression/rotate1.c, src/regression/rotate2.c,
+         src/regression/rotate3.c, src/regression/rotate4.c,
+         src/regression/rotate5.c, src/regression/rotate6.c,
+         src/regression/rotate7.c, src/regression/string1.c,
+         src/regression/struct1.c, src/regression/sub.c,
+         src/regression/sub2.c, src/regression/switch1.c,
+         src/regression/while.c, src/regression/xor.c,
+         src/regression/create_stc, src/regression/simulate,
+         src/regression/rt.sh, src/regression/Makefile: reenabled Scott's PIC14
+         regression tests
+       * src/regression/gpsim_assert.h: added
+
+2006-01-28 Bernhard Held <bernhard AT bernhardheld.de>
+
+       * src/ds390/gen.c (unsaveRegisters): fixed literal function pointer
+       ((void (code *) (void)) 0) ();
+       * as/hc08/aslex.c,
+       * as/hc08/aslink.h,
+       * as/hc08/asm.h,
+       * as/hc08/asmain.c,
+       * as/hc08/lkdata.c,
+       * as/hc08/lklex.c,
+       * as/hc08/lkmain.c,
+       * as/mcs51/aslex.c,
+       * as/mcs51/aslink.h,
+       * as/mcs51/asm.h,
+       * as/mcs51/asmain.c,
+       * as/mcs51/lkdata.c,
+       * as/mcs51/lklex.c,
+       * as/mcs51/lkmain.c,
+       * as/z80/aslex.c,
+       * as/z80/asm.h,
+       * as/z80/asmain.c: fixed build on current cygwin:
+       replaced getline() by as_getline()
+
+2006-01-27 Bernhard Held <bernhard AT bernhardheld.de>
+
+       * src/SDCC.y: fixed bug #716242, exchanged pointer and function
+       declarator in the symbol chain
+       * src/SDCCsymt.h,
+       * src/SDCCsymt.c (processFuncPtrArgs): added, removes "(void)"
+       parameter list for function pointers
+       * src/SDCCast.c (decorateType): added call of processFuncPtrArgs()
+       * support/regression/tests/bug-716242.c: added
+
+2006-01-20 Bernhard Held <bernhard AT bernhardheld.de>
+
+       * src/SDCCicode.c (geniCodeAdd, geniCodeArray): use char for array
+       offset if possible
+       * src/SDCCast.c (getLeftResultType): 255 fits in char, not 256
+
+2006-01-18 Bernhard Held <bernhard AT bernhardheld.de>
+
+       * src/SDCCast.c (backPatchLabels): fixed bug #1408066: made it
+       inifinitely recurseable, added static
+       * support/regression/tests/bug-1408066.c: added
+
+2006-01-17 Bernhard Held <bernhard AT bernhardheld.de>
+
+       * src/SDCCicode.h,
+       * src/SDCCicode.c (newiTempPreheaderLabel, newiTempLoopHeaderLabel):
+       renamed, added possibility to create "postLoopLbl"-labels
+       * src/SDCCBBlock.c (iCodeBreakDown): renamed newiTempPreheaderLabel to
+       newiTempLoopHeaderLabel
+       * src/SDCCloop.c (newInduction, newRegion, backEdges, insertIntoLoop,
+       isNotInBlocks, addToExitsMarkDepth, createLoop, dominatedBy,
+       addDefInExprs, assignmentsToSym, isOperandInvariant, pointerAssigned,
+       hasNonPtrUse, loopInvariants, addressTaken, findInduction,
+       findDefInRegion, mergeRegions, ifMerged, mergeInnerLoops): made static,
+       (pinduction, pregion, hasIncomingDefs, findLoopEndSeq): disabled,
+       (basicInduction): fixed bug #136564, made static,
+       (loopInduction): changed parameter of basicInduction, made static,
+       (addPostLoopBlock): added
+       * src/SDCCloop.h: removed backEdges, pregion, pinduction,
+       loopOptimizations, addressTaken, findDefInRegion, hasIncomingDefs,
+       findLoopEndSeq
+       * support/regression/tests/bug-136564.c: added
+       * support/regression/ports/mcs51-xstack-auto/spec.mk: added
+       --std-sdcc99 to LIBSDCCFLAGS
+
+2006-01-16 Bernhard Held <bernhard AT bernhardheld.de>
+
+       * src/SDCCicode.c (geniCodeIfx): fix bug 1406131: always false
+       while loop
+       * support/regression/tests/bug-1406131.c: added
+
+2005-12-31 Bernhard Held <bernhard AT bernhardheld.de>
+
+       * src/SDCCast.c (decorateType): fix promotion of unary minus
+       * src/SDCCsymt.c (computeType): beautified
+       * src/SDCCval.c (cheapestVal): beautified, old non-Ansi version removed,
+       (valUnaryPM, valComplement): fix sign and promotion,
+       (valNot): ANSI: result type is int (SDCC: unsigned char)
+       * support/regression/tests/uminus.c: speedup by removing superflous
+       test case 'int'
+       * support/regression/tests/onebyte.c: added promotion and signedness
+       tests for unary minus
+       * support/regressions/tests/bug-477927.c: disable warning about
+       uninitialized variables
+       * support/regression/tests/not.c: added
+
+2005-12-28 Bernhard Held <bernhard AT bernhardheld.de>
+
+       * device/lib/Makefile.in: added --std-sdcc99 to CFLAGS
+       * src/mcs51/gen.c (gen51Code): show final register usage after
+       fillGaps in asm with --i-code-in-asm
+       * src/SDCClrange.c (sequenceiCode, setLiveFrom, setLiveTo,
+       markLiveRanges, markAlive, findNextUseSym, findNextUse, unvisitBlocks,
+       incUsed, rliveClear, adjustIChain): made static,
+       (setFromRange): excluded because it's unused,
+       (findPrevUseSym, markWholeLoop): added,
+       (findPrevUse): rewritten; fixes bug 895992; now a complete search
+       through all branches of predecessors enables sdcc to emit the warning
+       W_LOCAL_NOINIT, marking of outermost loop was incomplete,
+       (rlivePoint): made static, added parameter emitWarnings which is only
+       true during the first run out of two,
+       (findRecursiveSucc, findRecursivePred): removed,
+       (computeLiveRanges): made static, added parameter emitWarnings,
+       (dumpIcRlive): added for debugging only
+       * src/SDCClrange.h: added boolean parameter to computeLiveRanges(),
+       removed prototype of setFromRange()
+       * src/SDCCopt.c (eBBlockFromiCode): added new parameter emitWarnings
+       in call of computeLiveRanges()
+       * support/regression/tests/bug-895992.c: added
+       * support/regression/tests/bug-971834.c: added
+       * support/valdiag/tests/bug-895992.c: added
+       * support/valdiag/tests/bug-971834.c: added
+
+2005-12-18 Raphael Neider <rneider AT web.de>
+
+       * src/pic16/gen.c: added IS_DIRECT macro for "direct" operands,
+         (genUnpackBits): improved code for direct operands,
+         (genPackBits): improved code for literal assignment to bitfields
+           and for direct destination operands (no FSR indirection),
+           prevented redundant AND, fixes #1362800,
+         (AccLsh): added parameter to disable masking of the result
+       * src/pic16/pcode.c (pic16_safepCodeUnlink): fixed to work with
+         skip instructions with side-effects (like incfsz),
+         (pic16_pCodeIsAlive): suppress verbose output unless pcode_verbose,
+       * src/pic16/pcoderegs.c (RemoveRegsFromSet): removed annoying warning
+       * device/lib/pic16/Makefile.common.in: added --asm=@GPASM@ to CC,
+         fixes #1375263
+
+2005-12-11 Bernhard Held <bernhard AT bernhardheld.de>
+
+       * src/SDCCicode.c (geniCodeAssign): fixed bug 11369874, don't use
        volatile variables as spill location
 
 2005-12-10 Bernhard Held <bernhard AT bernhardheld.de>