X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=ChangeLog;h=be2937656fbd9a907b1b389d66d85810158c1a36;hb=bf1925f901a9f45ad2529874f41e1e2b01f5bc9f;hp=a5e4fa2d3cb21460ea4fc0284ac45053b162bfab;hpb=0287c8ffcc69b8f0e6b4a3e66986ed40f7447387;p=fw%2Fsdcc diff --git a/ChangeLog b/ChangeLog index a5e4fa2d..be293765 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,7 +1,234 @@ +2004-12-27 Paul Stoffregen + + * 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 + + * 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 + + * 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 + + * sim/ucsim/avr.src/arith_inst.cc: fixed bug #1088372- savr is not + built by gcc 3.4.2 + +2004-12-25 Paul Stoffregen + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * src/SDCCloop.c (basicInduction, loopInduction): fixed several + induction related bugs, including first part of bug #1074377 + +2004-12-05 Vangelis Rokas + + * 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 + + * src/mcs51/peeph.def: added 261.a,b (16 bit rotate) by Stas Sergeev + with reversed byte order + * support/regression/tests/rotate.c: added (ds390 skips some tests) + +2004-12-03 Erik Petrich + + * 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 + + * src/pic/pcode.c : fixed a problem where banksel was not being inserted. + +2004-12-02 Erik Petrich + + * 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 + + * src/mcs51/peeph.def: fixed bug #1076940 + +2004-12-02 Slade Rich + + * device/include/pic/pic16f877.h : added an include file for the PIC16F877 device. + +2004-11-28 Frieder Ferlemann + + Adding support for replacing ljmps with sjmps in jumptables + generated for switch statements. For now you need to set the + environment variable SDCC_SJMP_JUMPTABLE to enable this. + Now 4 algorithms for mcs51 jumptable generation are used: + ljmp or sjmp jumptables for up to 16 cases, stack-pushing target + addresses loaded pc-relative for up to 112 cases and stack-pushing + target addresses loaded with offset from dptr for up to 256 cases. + + * src/SDCCpeeph.c: added peephole conditional labelJTInRange + * src/mcs51/main.c: adapted constants for switch table generation + * src/mcs51/peeph.def: added 260.x for replacing ljmp with sjmp + +2004-11-26 Maarten Brock + + * device/lib/printf_large.c (_print_format): fixed bug 1073386 + * support/regression/tests/bug1057979.c: added test for bug 1073386 + 2004-11-25 Vangelis Rokas - * src/pic16/pcode.c: fixed bug which may produce error in non-GNU - compilers - + + * src/pic16/pcode.c: fixed bug which may produce error in non-GNU + compilers + 2004-11-25 Vangelis Rokas * src/pic16/device.h, @@ -25,7 +252,7 @@ Library is not automatically build yet. But one can build it by invoking 'make' inside the libc directory. * added ADC library under libio. Preliminary version yet. - + * src/pic16/gen.h: added emitTOGC macro, to toggle Carry flag, * src/pic16/gen.c (aopForRemat): asmop size is filled by aopForRemat() now and not by pic16_aopOp(), @@ -83,7 +310,7 @@ * device/lib/_gptrput.c (_gptrput): _naked allows to use ret instead of sjmp to ret * src/mcs51/peeph.def: added peepholes 3.d-g and 177.g,h provided - by anonymous in RFE #1067986, thanks + by Hubert Sack in RFE #1067986, thanks 2004-11-18 Maarten Brock