Fixed error in log date
[fw/sdcc] / ChangeLog
index af926fdefd22a1d4015f92ac4e2fa0ad8c1b426b..316ba2c15f4b4e5529634e63d23619c5318b8c3a 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,4 +1,295 @@
-2004-11-29 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
+2005-01-08 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
+
+       * src/pic16/gen.c (DEBUGpc): MSVC 6 does not support macro variable arguments
+
+2005-01-08 Raphael Neider <rneider AT web.de>
+
+       * src/pic16/device.c (pic16_dump_usection) changed naming scheme for
+         udata sections to fix bug #1097823
+
+2005-01-05 Raphael Neider <rneider AT web.de>
+
+       * src/pic16/gen.c (genGenericShift) added handling of differently
+         sized left operand and result
+
+2005-01-04 Raphael Neider <rneider AT web.de>
+
+       * src/pic16/gen.c (genIfxJump) fixed inverted skips on CARRY
+       * (genIfx) fixed (?) read from uninitialized SPIL_LOC (now assumes CARRY
+         to hold the condition bit)
+       * added new version of genCmp (old code available via #define)
+       * added new version of genShiftLeft/genShiftRight in a generic
+         way, now supports shifting by negative values
+       * (genLeftShiftLiteral, genRightShiftLiteral) use absolute value of
+         shiftCount (expected by genGenericShift)
+       * src/pic16/genarith.c (genPlus) added code for adding CARRY+literal
+       * src/pic16/pcode.c (pic16_OptimizeJumps) removed annoying statistics
+         dump
+       * (pic16_newpCodeOpLit) changed to cast to unsigned char (as e.g. -32766
+         is an invalid literal too...)
+
+2005-01-04 Vangelis Rokas <vrokas AT otenet.gr>
+
+       * src/pic16/gen.c (aopForSym, genEndFunction): applied some fixes
+       from Raphael Neider,
+       * src/pic16/pcode.c (pic16_newpCodeOpLit): removed casting to char
+       for 8-bit literals. This fixes some literal operands which are sign
+       extended to 16-bits ints when instruction needs only 8-bits.
+
+2004-12-31 Paul Stoffregen <paul AT pjrc.com>
+
+       * device/lib/logf.c: added mcs51 assembly version
+       * device/lib/expf.c: added mcs51 assembly version
+       * device/lib/_logexpf.c: new shared asm code for expf and logf
+       * device/include/math.h: add defines for assembly math library
+       * device/lib/Makefile.in: build new _logexpf.c
+       * device/lib/libfloat.lib: use new _logexpf.c
+
+2004-12-29 Slade Rich <slade_rich AT users.sourceforge.net>
+
+       * src/pic/device.c
+       * src/pic/pcode.c : adjusted internal stack and pre-allocated registers for
+         device types which have less than 0x7f registers.
+
+2004-12-29 Slade Rich <slade_rich AT users.sourceforge.net>
+
+       * src/pic/genarith.c : Fixed problem with subtraction where the result would not be updated when borrowing.
+
+2004-12-28 Paul Stoffregen <paul AT pjrc.com>
+
+       * device/lib/printf_fast.c: only build on supported arch.
+       * device/lib/printf_tiny.c: only build on supported arch.
+       * device/lib/printf_fast_f.c: only build if asm float lib
+       * device/lib/_fsget1arg.c: only build if asm float lib
+       * device/lib/_fsget2args.c: only build if asm float lib
+       * device/lib/_fsnormalize.c: only build if asm float lib
+       * device/lib/_fsreturnval.c: only build if asm float lib
+       * device/lib/_fsrshift.c: only build if asm float lib
+       * device/lib/_fsswapargs.c: only build if asm float lib
+       * device/include/stdio.h: don't provide print_fast,
+         print_fast_f, print_tiny prototypes if --xstack used
+
+2004-12-28 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * device/lib/sincosf.c (sincosf): don't invert bit/bool by ~
+       * support/regression/ports/mcs51-stack-auto/spec.mk: added new _fs.. files
+         to the SOURCES
+
+2004-12-28 Paul Stoffregen <paul AT pjrc.com>
+
+       * device/lib/printf_fast_f.c: same as printf_fast, but
+         with floating point enabled
+       * device/lib/printf_fast.c: minor tweaks
+       * device/include/stdio.h: add printf_fast_f
+
+2004-12-27 Paul Stoffregen <paul AT pjrc.com>
+
+       * src/SDCCmain.c: make --float-reent default for mcs51
+       * device/lib/_fsadd.c: added mcs51 assembly version
+       * device/lib/_fssub.c: added mcs51 assembly version
+       * device/lib/_fsmul.c: added mcs51 assembly version
+       * device/lib/_fsdiv.c: added mcs51 assembly version
+       * device/lib/_fseq.c: added mcs51 assembly version
+       * device/lib/_fsneq.c: added mcs51 assembly version
+       * device/lib/_fsgt.c: added mcs51 assembly version
+       * device/lib/_fslt.c: added mcs51 assembly version
+       * device/lib/_fscmp.c: shared code for fseq,fsgt,fslt,fsneq
+       * device/lib/Makefile.in: add _fscmp to build
+       * device/lib/libfloat.lib: add _fscmp to build
+
+2004-12-27 Paul Stoffregen <paul AT pjrc.com>
+
+       * device/lib/_fs2slong.c: added mcs51 assembly version
+       * device/lib/_fs2sint.c: added mcs51 assembly version
+       * device/lib/_fs2schar.c: added mcs51 assembly version
+       * device/lib/_fs2ulong.c: added mcs51 assembly version
+       * device/lib/_fs2uint.c: added mcs51 assembly version
+       * device/lib/_fs2uchar.c: added mcs51 assembly version
+       * device/lib/_slong2fs.c: added mcs51 assembly version
+       * device/lib/_sint2fs.c: added mcs51 assembly version
+       * device/lib/_schar2fs.c: added mcs51 assembly version
+       * device/lib/_ulong2fs.c: added mcs51 assembly version
+       * device/lib/_uint2fs.c: added mcs51 assembly version
+       * device/lib/_uchar2fs.c: added mcs51 assembly version
+       * device/include/float.h: added #define to select asm vs c
+
+2004-12-26 Paul Stoffregen <paul AT pjrc.com>
+
+       * device/lib/printf_fast.c: improvements to float output
+       * device/include/float.h: add defines for assembly float library
+       * device/lib/_fsget1arg.c: receive 1 float arg
+       * device/lib/_fsget2args.c: receive 2 float args (reentrant)
+       * device/lib/_fsnormalize.c: normalize a float
+       * device/lib/_fsreturnval.c: return float, various helper routines
+       * device/lib/_fsrshift.c: right shift a float's mantissa
+       * device/lib/_fsswapargs.c: swap 2 floats
+       * device/lib/Makefile.in: build these 6 new files for mcs51
+       * device/lib/libfloat.lib: add these 6 files to the library
+
+2004-12-26 Borut Razem <borut.razem AT siol.net>
+
+       * sim/ucsim/avr.src/arith_inst.cc: fixed bug #1088372- savr is not
+         built by gcc 3.4.2
+
+2004-12-25 Paul Stoffregen <paul AT pjrc.com>
+
+       * device/lib/printf_tiny.c: printf for mcs51 in only 267 bytes,
+         and fully reentrant and register bank neutral.
+       * device/lib/printf_fast.c: added float (not enabled by default),
+         added compact/slower integer (also not enabled by default),
+         improved size/speed of fast integer code, other minor changes
+       * device/include/stdio.h, device/lib/Makefile.in,
+         device/lib/libsdcc.lib: integrate printf_tiny into mcs51 build
+
+2004-12-24 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * src/pic16/pcode.c: declaring variables other than at the start of a
+         block is not supported in C by VC6.
+
+2004-12-22 Vangelis Rokas <vrokas AT otenet.gr>
+
+       * applied a previous patch from Raphael Neider that wasn't included
+       in the previous commits, which fixes infinite loops within jumptable
+       improvements,
+       * made some fixes that previous patches introduced
+
+2004-12-21 Vangelis Rokas <vrokas AT otenet.gr>
+
+       * src/pic16/gen.c (pic16_aopGet): applied fix from Raphael Neider
+       that fixes an issue with AOP_PCODE asmop's offset,
+       * (pic16_popCopyReg): update instance field too,
+       * (mov2w): modified to pic16_mov2w because it conflicts with mov2w
+       function of pic port,
+       * (genCmp, genAnd, genAssign),
+       * src/pic16/genarith.c (genAddLit): some fixes from Raphael Neider,
+
+2004-12-20 Vangelis Rokas <vrokas AT otenet.gr>
+
+       * src/SDCCast.c (gatherAutoInit): allow pic16 to emit static
+       variables initial values to idata section,
+       * src/SDCCicode.c (geniCodeCall): patch from ### to fix unreferenced
+       variables in some functions. This utilizes parmBytes field of iCode
+       structure to hold the offset of the variable in stack. (might be
+       able to use the stack field too?)
+       * applied patch from Raphael Neider # ### , # ###
+       * src/pic16/glue.c (pic16emitRegularMap): fix to print static
+       variable initial values in idata section,
+       * src/pic16/ralloc.c (pic16_allocDirReg): don't allocate register
+       for static variables with initial value
+       * src/device/lib/pic16/libsdcc/float/ulong2fs.c (__ulong2fs):
+       applied fix in while loop from Raphael Neider.
+
+2004-12-19 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * src/ds390/gen.c (genCpl): fixed bit=~(char/bit) bugs, added warning
+       * src/ds390/main.c (_ds390_regparm): don't pass bit params in registers
+       * src/ds390/ralloc.c (serialRegAssign): spill bits
+       * src/mcs51/gen.c (genCpl): fixed bit=~(char) bugs, added warning
+       * support/Util/SDCCerr.c,
+       * support/Util/SDCCerr.h: added warning W_COMPLEMENT for using bit=~(bit)
+       * support/regression/tests/bitvars.c: added tests for bitwise complement(~)
+       * support/regression/tests/bitwise.c: added test for bitwise complement(~)
+
+2004-12-09 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * device/include/sdcc-lib.h: inserted LGPL, added includes
+         asm/ds390/features.h and asm/mcs51/features.h
+       * device/include/asm/default/features.h,
+       * device/include/asm/gbz80/features.h,
+       * device/include/asm/z80/features.h: added empty _AUTOMEM
+         and _STATMEM
+       * device/include/asm/ds390/features.h,
+       * device/include/asm/mcs51/features.h: added files with defines for
+         _AUTOMEM and _STATMEM indicating automatic and static storage class
+       * device/lib/printf_large.c (_print_format): optimized & used _AUTOMEM
+       * doc/sdccman.lyx: version 2.4.7, updated xstack documentation
+       * src/SDCCicode.c (geniCodeCast),
+       * src/SDCCsymt.c (compareType): allow cast of data-ptr to idata-ptr
+       * src/SDCCloop.c (loopInduction): removed unused variable lr
+       * src/SDCCopt.c (convilong, convertToFcall): moved "easy special case"
+         to convertToFcall to include char modulo (RFE 1065037), added check
+         if left operand is unsigned and use abs of literal value
+       * src/SDCCpeeph.c (setFromConditionArgs): removed double quotes option
+         as it doesn't work after conversion from peephole.def to peephole.rul
+       * src/mcs51/gen.c (toBoolean): added check for size,
+         (genModOneByte): optimized code for signed char modulo a literal
+         power of 2 (thanks to Hubert Sack),
+         (genRRC): removed unnecessary "clr c",
+         (genRLC): replaced "add a,acc" with cheaper "rlc a"
+       * src/mcs51/peeph.def: renamed 115 to 115.a, added rule 115.b: another
+         jump optimization,
+         swapped rules 256.c and 256.d,
+         extended 256.d by using new multiple checks (thanks Erik),
+         added rules 256.e and 256.f,
+         updated rule 261.a and 261.b to new generated code
+       * support/regression/tests/muldiv.c: added test div/mod by a power of 2
+
+2004-12-07 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+       * src/SDCCloop.c (basicInduction, loopInduction): fixed several
+         induction related bugs, including first part of bug #1074377
+
+2004-12-05 Vangelis Rokas <vrokas AT otenet.gr>
+
+       * applied patch from bug-report #1076292,
+       * applied patches for genAnd and Goto-optimizations for Raphael
+       Neider,
+       * src/SDCCicode.c (printOperand): fixed !REGA source to compile and
+       dump a less iCode information,
+       * src/pic16/device.h (pic16_options_t): added field debgen,
+       * src/pic16/gen.h: added macros DUMP_FUNCTION_ENTRY,
+       DUMP_FUNCTION_EXIT, FENTRY, FENTRY2,
+       * src/pic16/gen.c (my_powof2): renamed to pic16_my_powof2 and made
+       puclic,
+       * (various functions): added macros FENTRY and FENTRY2 to functions,
+       to emit function prologue,
+       * (various functions): fixed indentation,
+       * (genNearPointerGet): fixed loading of FSR0,
+       * (genPackBits): applied patch from Raphael Neider to fix updating
+       of FSR0 and touching only the modified bits,
+       * src/pic16/genarith.c (various functions): added macros FENTRY to
+       emit function prologue in comments,
+       * src/pic16/pcode.h: added functions debugf2, debugf3,
+       * src/pic16/ralloc.c: partial fix for packForPush caused
+       segmentation fault,
+
+2004-12-04 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
+
+       * src/mcs51/peeph.def: added 261.a,b (16 bit rotate) by Stas Sergeev
+         <stsp AT users.sourceforge.net> with reversed byte order
+       * support/regression/tests/rotate.c: added (ds390 skips some tests)
+
+2004-12-03 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+       * src/z80/gen.c (genLeftShift, genRightShift): fixed second part of
+         bug #1074377
+       * src/hc08/gen.c (genrshFour, shiftRLong, shiftLLong),
+       * src/mcs51/gen.c (shiftLLong): Fixed some shifting bugs Frieder found
+
+2004-12-02 Slade Rich <slade_rich AT users.sourceforge.net>
+
+       * src/pic/pcode.c : fixed a problem where banksel was not being inserted.
+
+2004-12-02 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+       * src/SDCCpeeph.c (callFuncByName): support combined peephole rule
+         conditions,
+         (setFromConditionArgs): friendly operand parser for peephole rules,
+         (operandBaseName, operandsNotRelated): new peephole condition
+         "operandsNotRelated" -- similar to "operandsNotSame", but takes
+         architecture specific register naming into account, handles n-way
+         comparisons, and supports quoted literals
+       * src/mcs51/peeph.def: restored rule 177.d with an extra condition
+
+2004-12-02 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
+
+       * src/mcs51/peeph.def: fixed bug #1076940
+
+2004-12-02 Slade Rich <slade_rich AT users.sourceforge.net>
+
+       * device/include/pic/pic16f877.h : added an include file for the PIC16F877 device.
+
+2004-11-28 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
 
        Adding support for replacing ljmps with sjmps in jumptables
        generated for switch statements. For now you need to set the