X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=ChangeLog;h=5fe897c46a95a6a645802e2901baa817bdf08457;hb=6474449850aeace128aebe2d7f387ac7c550bcc5;hp=2a4a258e443e1d1e8bd7fe0e4e746ec88e32170c;hpb=a4d219fe6e7a7b938a3fb60a136149595e4e6f15;p=fw%2Fsdcc diff --git a/ChangeLog b/ChangeLog index 2a4a258e..5fe897c4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,665 @@ +2005-01-22 Vangelis Rokas + + * .version: bumped version number to 2.4.8 + * device/lib/pic16/pics.all: list of PIC18F devices supported by + pic16 port, + * device/lib/pic16/libio/i2c/: I2C module support library, + * device/include/pic16/i2c.h: I2C support library header, + * device/lib/pic16/libc/stdio/: standard IO support sources, + * (printf_small.c): printf_small() source, supports float print, + * (printf_tiny.c): printf_tiny() source, does not support floats, + * device/lib/pic16/Makefile.common.in: added OPT_FLAGS macro to + enable global optimizations for entire library source, other + Makefiles in the source tree are also modified to reflect this, + * device/lib/pic16/libc/stdlib/putchar.c (putchar): dummy putchar() + function, + * doc/sdccman.lyx: updated to reflect new changes, + * src/pic16/gen.c (aopForSym): don't handle sym->iaccess in + sym->onStack if-case, + * src/pic16/main.c (_pic16_keywords): commented out keywords bit, + sbit, idata, _idata, xdata, _xdata, + * added pragma library, to link an external library, (see doc), + * removed command line options, --pomit-config-words, --pomit-ivt, + --pleave-reset-vector, + * (pic16_finaliseOptions): when define macro SDCC_MODEL_{SMALL/LARGE} + when calling assembler to reflect memory model used, also define + macro STACK_MODEL_{SMALL/LARGE} when compiling and assembling to + reflect stack model used, + * src/pic16/ralloc.c (pic16_allocDirReg): when operand is allocated + on stack return NULL, + +2005-01-22 Daniel Winkler + + * src/SDCCopt.c (killDeadCode): do not throw iCodes away if one + of the operands is volatile. Fixes #1020220 + +2005-01-22 Daniel Winkler + + * src/pic16/pcoderegs.c (pCodeOptime2pCodes): reenabled optimization + * (OptimizeRegUsage): make sure that there is really no other flow where + the first pCode is used + +2005-01-22 Raphael Neider + + * src/pic16/pcoderegs.c (pCodeOptime2pCodes): disabled optimization + to fix #1106967 (pCode->seq are not set up correctly) + +2004-01-22 Erik Petrich + + * src/SDCCglue.c (glue): make sure code area is declared before the + static initialization area. + +2005-01-21 Raphael Neider + + * device/lib/Makefile.in: fixed test for pic16 install dir + * device/lib/pic16/*/Makefile*: modified compile flags to enable + optimizations + * doc/sdccman.lyx: updated banksel optimization, removed --flr-support and + added --optimize-goto compiler switch and pragma wparam documentation + * src/pic16/pcode.c (pic16_OptimizeBanksel): removed statistics dump + * src/pic16/pcodepeep.c (pic16_pCodeOpCopy): fixed copying of WREG, PRODL + and PRODH closing bug #1071770 (peephole optimizer) + +2005-01-19 Raphael Neider + + * src/SDCCglobl.h: ensure that PATH_MAX >= 2048 to guarantee + cmdLine buffers (used when calling sdcpp...) are large enough + (MAX_PATH=256 truncates arguments leading to system halts when + used in MinGW...) + * src/pic16/gen.c (pic16_sameRegs): relaxed size criterion + * (genUminus): rewritten to for efficiency + * (genNearPointer[GS]et): enforce reloading of FSR0 (was still + used uninitialized in some cases) + * (genCast): upcasting a 16bit int to a 24bit GPOINTER may not + copy the third byte from the int -- now assumes 0x80 (data memory) + * src/pic16/genarith.c (pic16_genPlus): fixed bug when swapping + operands (genAddLit expects the iCode's operands to swapped as + well), fixed leftover bytes (crashed for short left operands) + * (pic16_genMinusDec): performance improvements, removed false + PIC14 emitSKPNCs + * (pic16_genMinus): fixed to cope with differently sized operands + * src/pic16/glue.c (pic16_glue): added new banksel optimization + for --obanksel > 1 + * src/pic16/pcode.c: implemented (first phase of) banksel optimization + * src/pic16/graph.[ch]: implementation of directed graphs, used by + new banksel optimization + * src/pic16/pcoderegs.c (pCodeRegMapLiveRangesInFlow): prevented + analysis for temporary registers (segfaults...) + * src/pic16/peeph.def: added rule + +2005-01-18 Vangelis Rokas + + * device/lib/pic16/libc/stdlib/x_ftoa.c: it defines x_ftoa function + which converts a float number to its ASCII representation + * device/lib/pic16/libc/utils/cnvfrac.S,cnvint.S: support + functions to convert the fractional and integer part of a float to ASCII, + * device/lib/pic16/libc/stdlib/(calloc.c,free.c, malloc.c, + realloc.c): added _MALLOC_SPEC to explicit place variables in data + ram + * device/include/asm/pic16/features.h: added _CODE, _DATA, _AUTOMEM, + _STATMEM macros, + * device/include/pic16/adc.h: added GPL info, + * src/pic16/gen.c (genIfxpCOpJump): perform an genIfxJump but using + a pCodeOp as tested operand, + * (genNearPointerGet): optimized bit testing, does not use + intermediate register for bit value, test directly instead with + BTFSS, BTFSC, works only for single bits, + * (genpic16Code): dump the name of the iCode in the asm, + * src/pic16/ralloc.c (decodeOp): removed static declaration and + renamed to pic16_decodeOp, + * (serialRegAssign): do not allocate a temporary register for iCode + sequences that test a single bit for 1/0 + +2005-01-12 Vangelis Rokas + + * src/pic16/pcode.[ch]: introduced pic16_stackpnt_*, + pic16_framepnt_*, pic16_stack_*, pic1_frame_* pointer variables to + access stack and frame pointers. They are initially assigned to + point at pic16_pc_fsr1[lh] and pic16_pc_fsr2[lh] variables and other + accessing SFRs. Updated all occurences of modification of stack or + frame pointer in gen.c and pcode.c, + * src/pic16/ralloc.c (serialRegAssign): fixed two bugs with + assigning of a literal value to pointers, + * src/pic16/main.c (pic16_finiliseOptions): set pre-processor define + flag STACK_MODEL_SMALL or STACK_MODEL_LARGE according to the model + selected + +2005-01-11 Vangelis Rokas + + * doc/sdccman.lyx: update documentation about stack pragma, added + some info for stack memory models + +2005-01-08 Jesus Calvino-Fraga + + * src/pic16/gen.c (DEBUGpc): MSVC 6 does not support macro variable arguments + +2005-01-08 Raphael Neider + + * src/pic16/device.c (pic16_dump_usection): changed naming scheme for + udata sections to fix bug #1097823 + +2005-01-05 Raphael Neider + + * src/pic16/gen.c (genGenericShift): added handling of differently + sized left operand and result + +2005-01-04 Raphael Neider + + * 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 + + * 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 + + * 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 + + * 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 + + * src/pic/genarith.c : Fixed problem with subtraction where the result would not be updated when borrowing. + +2004-12-28 Paul Stoffregen + + * 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 + + * 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 + + * 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 + + * 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 + +2004-11-25 Vangelis Rokas + + * src/pic16/device.h, + * src/pic16/genarith.c, + * src/pic16/glue.c, + * src/pic16/main.c, + * src/pic16/pcode.c: applied patches #1068154 and #1070213 + +2004-11-24 Vangelis Rokas + + Large cummulative patch for pic16 port. + * device/lib/pic16/gstack.h: NEW, user can specify its own handler + to call when a stack overflow occurs, + * (malloc.h): added CVS Id tag, + * (pic18f{242,252,442,452}.h): added T0CONbits structure and + variable, + * added libc directory. The current version of LibC contains string + functions, ctype functions and macros and some functions of the + stdlib set (like malloc/free/atof/atoi etc...). All functions are to + be extensively tested in the future. Standard disclaimer here. + 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(), + * (pic16_popGetTempReg): removed warning messgae when allocating + temporary registers, its a buggy feature and will be removed, + * (pic16_popGet): set register instance field in AOP_CRY, + * (pic16_outBitC): fixed for results in size greater than 1, + * (genUminusFloat): fixed for pic16, ported code from mcs51, + * (pic16_storeForReturn): optimized return of 0, + * (genCmp): experimental code for new genCmp which uses PIC18's + special compare&skip instructions. Initial tests fail some times + with variables grater than 1 byte in size, so new code is disabled, + * (genUnpackBits, genPackBits): more optimizations in reading/writing, + a single bit, + * (genCast): began a fix to optimize the casting of a bit to another + bit, now assigning a bitfield to another bitfield will fail, sorry, + * src/pic16/main.c: disabled the use of lr-support feature, + * src/pic16/pcode.h: renamed PCASMDIR to PCAD, + * added some function prototypes, added function _debugf prototype, + * src/pic16/pcode.c: (pic16_get_op): fixed emitting operands of register + bits with offset (case PO_GPR_BIT), + * (genericPrint): don't emit INFO pcode when --pcode-verbose not in + command line, + * (isBankInstruction): modified to return 0 for no banking instruction, + and 1 for banking instruction, + * (pic16_isPCinFlow): check for PCAD (assembler directives) too, + caused stop processing pCodes after a inline assembly block, + * (pic16_popCopyGPR2Bit): updated to match bitfields with offset, + * src/pic16/pcoderegs.c: fixed a bug with eliminating some temporary + registers when it shouldn't, + * src/pic16/ralloc.c (allocReg): add preliminary support for + supporting a limited set of temporary registers, + +2004-11-23 Erik Petrich + + * src/hc08/gen.c (genAssign, genPointerGetSetOfs, genDataPointerGet, + genDataPointerSet): ensure assignments always copy in MSB to LSB + order, + (loadRegFromAop): recognize CLRH optimization, + (genFunction): optimize RECEIVE iCodes in reentrant functions + +2004-11-20 Erik Petrich + + * src/SDCCmain.c (parseCmdLine, optionsTable[]): fixed bug with + --out-fmt-s19 turning into --out-fmt-elf if s19 was already + selected. + * src/SDCCmain.c (linkEdit): don't define SSEG for HC08 + * src/hc08/main.c (_hc08_setDefaultOptions): default xdata to be + contiguous with data + +2004-11-19 Frieder Ferlemann + + * device/lib/_gptrget.c (_gptrget), + * device/lib/_gptrgetc.c (_gptrgetc), + * 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 Hubert Sack in RFE #1067986, thanks + +2004-11-18 Maarten Brock + + * .version: bumped version to 2.4.7 + * device/lib/_gptrget.c (_gptrget): is now _naked + * device/lib/_gptrgetc.c (_gptrgetc): is now _naked + * device/lib/_gptrput.c (_gptrput): is now _naked + * src/SDCCast.c (createBlock): removed ridiculous self-assignment, + (createFunction): fixed xstack + * src/SDCCglue.c (emitMaps): set allocation required for bit area + * src/SDCCicode.c (geniCodeCast): don't change SPEC_OCLS for literal + or bit either, + (geniCodeCritical): store original interrupt state in an iTemp bit + var unless stack-auto + * src/SDCCicode.h: added CRITICAL and ENDCRITICAL to SKIP_IC2 + * src/SDCCmain.c (setIncludePath): added include/target to search path + * src/SDCCmem.c (allocParms): store bit vars in bit space, not overlay + * src/SDCCsymt.c (checkFunction): don't check regbank for isr's against + prototype, + (processFuncArgs): put bit vars in bit area + * src/mcs51/gen.c (saveRegisters, unsaveRegisters, genXpush, saveRBank, + unsaveRBank): fixed xstack, + (genFunction): bugfix: replaced (global!) reentrant with fReentrant, + (genFunction, genEndFunction): fixed xstack, + (genAssign): optimization don't walk backwards through mem + * src/mcs51/main.c (_mcs51_regparm): don't pass bit params in registers + * src/mcs51/ralloc.c (createStackSpil): spill bits to bit area + * support/regression/Makefile: also make library (for stack-auto) when + making "all" and added "test-mcs51-xstack-auto" + * support/regression/fwk/lib/testfwk.c: added T2_isr prototype for mcs51 + * support/regression/ports/mcs51/T2_isr.c: added this file as a stub + * support/regression/ports/mcs51/fwk.lib: added to link T2_isr stub + * support/regression/ports/mcs51/spec.mk: added rules for fwk.lib + * support/regression/ports/mcs51-stack-auto/spec.mk: replaced + make-library by MAKE_LIBRARY + * support/regression/ports/mcs51-xstack-auto/spec.mk: file added to run + regression tests for xstack + * support/regression/tests/bitvars.c: test for bit vars (bug 938782) + * support/regression/tests/critical.c: test for critical on mcs51 + +2004-11-18 Erik Petrich + + * support/regression/ports/ucz80/spec.mk: use include and lib files from + built version of sdcc instead of installed version + +2004-11-14 Maarten Brock + + * src/mcs51/gen.c (toBoolean): fixed bug 1065458 + * device/lib/Makefile.in: z80 uses printf_large.c, sprintf.c and + vprintf.c now + * device/lib/printf_large.c (calculate_digit): fixed bug 1057979 + * device/lib/z80/Makefile: don't use printf.c as it fails bug 1057979 + WARNING: remove device/lib/build/z80/printf.o by hand when + updating from previous build! + * device/lib/z80/printf.c: updated comment + * support/regression/tests/bug1057979.c: test all ports now + * support/regression/tests/bug1065458.c: file added + +2004-11-12 Erik Petrich + + * src/z80/gen.c (genFunction, genEndFunction): avoided generating + *_start and *_end symbols for static functions + +2004-11-11 Maarten Brock + + * src/SDCCmain.c (linkEdit): don't suppress crt0 if --nostdlib is used + and search crt0.o in all library paths, + (setIncludePath): proper handling of --nostdinc, + (setLibPath): proper handling of --nostdlib + * support/regression/Makefile, + * support/regression/ports/ds390/spec.mk, + * support/regression/ports/gbz80/spec.mk, + * support/regression/ports/hc08/spec.mk, + * support/regression/ports/mcs51/spec.mk, + * support/regression/ports/mcs51-large/spec.mk, + * support/regression/ports/mcs51-stack-auto/spec.mk, + * support/regression/ports/z80/spec.mk: use include and lib files from + built version of sdcc instead of installed version + * doc/sdccman.lyx: fixed typo in --nostdinc + +2004-11-10 Slade Rich + + * src/pic/pcode.c, + * src/pic/device.c, + * src/pic/ralloc.c, + * src/pic/gen.c : added support to generate code for struct bit fields. + +2004-11-06 Maarten Brock + + * as/xa51/xa_version.h, + * device/include/errno.h, + * device/include/regc515c.h, + * device/lib/_itoa.c, + * device/lib/_ltoa.c, + * device/lib/ser_ir_cts_rts.c, + * sim/ucsim/xa.src/glob.cc, + * sim/ucsim/xa.src/inst_gen.cc, + * sim/ucsim/xa.src/xa_bit.cc, + * sim/ucsim/xa.src/xa_sfr.cc, + * sim/ucsim/z80.src/inst_dd.cc, + * sim/ucsim/z80.src/inst_fdcb.cc, + * support/scripts/keil2sdcc.pl, + * src/pic16/pic16.dsp, + * src/pic16/pic16a.dsp: corrected cvs line endings + * device/lib/printf_large.c: fixed bug 1057979 + * src/pic16/gen.c: fixed non-C standard code + * src/SDCCmain.c: made --pack-iram default, added --no-pack-iram + * src/SDCCglobl.h: changed pack_iram to no_pack_iram + * support/regression/ports/mcs51/support.c: reload T1 asap + * doc/sdccman.lyx: updated for options --pack-iram and --no-pack-iram, + pdata use and clear idata startup behaviour + * support/regression/tests/bug1057979.c: added + +2004-11-04 Maarten Brock + + * device/examples/ds390/ow390/ad26.h, + * device/examples/ds390/ow390/cnt1d.h, + * device/examples/ds390/ow390/crcutil.c, + * device/examples/ds390/ow390/ownet.h, + * device/examples/ds390/ow390/owsesu.c, + * device/examples/ds390/ow390/swt12.h, + * device/examples/ds390/ow390/swtoper.c, + * device/examples/ds390/ow390/temp10.h, + * device/examples/ds390/ow390/thermodl.c, + * device/examples/ds390/tinitalk/tinitalk.dsp, + * device/examples/ds390/tinitalk/tinitalk.dsw, + * device/examples/mcs51/clock/hw.h, + * device/examples/mcs51/simple2/go.bat, + * device/examples/serialcomm/windows/serial.h, + * device/examples/xa51/dummy.c, + * device/examples/xa51/hello.c, + * device/include/80c51xa.h, + * device/include/at89x051.h: corrected cvs line endings + 2004-11-04 Vangelis Rokas * src/pic16/main.c (options): added command line --gstack, to trace @@ -79,9 +741,9 @@ 2004-10-22 Frieder Ferlemann * device/lib/ser_ir_cts_rts.c: integer promotion caused a call to the - non-reentrant function __modsint in the interrupt function (thus + non-reentrant function __modsint in the interrupt function (thus corrupting math operations during serial I/O) - * device/lib/ser_ir.c: as above, changed buffersize + * device/lib/ser_ir.c: as above, changed buffersize * src/mcs51/peeph.def: added 259.a,b for removing redundant ret, 256.c,d for zeroing * doc/Makefile: added option -t for rsync