X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=ChangeLog;h=9fd4c8bfae04aacbd8df92509996110a85b43c68;hb=358b447f258a57054b5c26f46e75d0314caef61d;hp=76630090aeb997dacfba66388948ff18e053373a;hpb=4da5c2f508ea81b4afd6164f354d6c91d5566e20;p=fw%2Fsdcc diff --git a/ChangeLog b/ChangeLog index 76630090..9fd4c8bf 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,365 @@ +2004-09-23 Vangelis Rokas + + * src/pic16/genutils.c (pic16_genNot): fixed bug #1032265, + * src/pic16/pcode.c: commented out some calls to free() in order to + fix bug #989576, + +2004-09-23 Erik Petrich + + * src/SDCCicode.h, + * src/SDCCicode.c (isiCodeInFunctionCall), + * src/avr/ralloc.c (selectSpil), + * src/pic/ralloc.c (selectSpil), + * src/pic16/ralloc.c (selectSpil), + * src/ds390/ralloc.c (selectSpil), + * src/hc08/ralloc.c (selectSpil), + * src/xa51/ralloc.c (selectSpil), + * src/mcs51/ralloc.c (selectSpil): Don't use remainSpil to spill to the + stack in the middle of a function call sequence (fixes bug #1020268) + * src/SDCCicode.c (geniCodeJumpTable): fixed error in computing the + costs associated with the minimum switch case. + +2004-09-19 Erik Petrich + + * src/SDCC.lex: fixed bug #1030549 + +2004-09-19 Erik Petrich + + * src/SDCCcse.h (struct cseDef), + * src/SDCCcse.c (cseBBlock, newCseDef, ifFromAddrTaken): purge CSEs + over a function call if the CSE is derived from a symbol whose + address has been taken (fixes bug #1029883) + * support/regression/tests/bug-1029883: a new regression test for + this bug + +2004-09-18 Erik Petrich + + * src/hc08/gen.c (emitinline): fixed bug #1029778 + * src/SDCC.y (assignment_expr): fixed the grammer so that assignment + to a cast object is no longer a syntax error ("fixes" bug #1030006, + and starts toward RFE #905167) + +2004-09-17 Vangelis Rokas + + * src/pic16/gen.c (mov2f): New function to move an operand to + another without considering if it is a literal or a register, + * (pic16_sameRegs): don't check if they are both AOP_REG, + * (AccRsh): removed andmask=0 lines, + * (genLeftShift): duplicated to be improved in future versions, + * src/pic16/main.c (_process_pragma): emit stack default size in hex, + * src/pic16/pcode.c: added POC_INFSNZW, updated inverted_op fields + in POC_INCFSZ, POC_INCFSZW, POC_INFSNZ, + * (pic16initMnemonics): added initialization for POC_INFSNZW, + * (insertBankSwitch): fixed inserting banksel directives algorithm + for instructions that follow a skip instruction, this fixes a report + for broken subtraction code generation, + * src/pic16/ralloc.c (deassignLRs): do not free register if current + iCode is a left op, just in case result and right share the same + registers + +2004-09-16 Erik Petrich + + * src/hc08/main.c, + * src/hc08/gen.c (genJumpTable): more efficient jump table, supports + preservation of HX + * src/hc08/gen.c (pullRegs): fixed order of HX & XA pairs + * src/mcs51/ralloc.c (packRegisters): removed the patch applied + on 2004-09-12; it was buggy + +2004-09-15 Bernhard Held + + * src/SDCCsymt.h: removed RESULT_CHECK + * src/SDCCast.c, + * src/SDCCglue.c, + * src/SDCCval.c, + * src/pic/glue.c, + * src/pic16/glue.c: replaced RESULT_CHECK with RESULT_TYPE_NONE + +2004-09-15 Vangelis Rokas + + * src/SDCCicode.c (piCode): applied patch from Raphael Neider, + * src/pic16/device.c (pic16_assignConfigWordValues): wrong + configuration values no more rejected by compiler, they are assigned + to configuration registers with a warning message instead, + * src/pic16/glue.c (pic16_emitConfigRegs): added +1 at top-limit of + the for-loop so last conf register is emitted too, + * (_pic16_initPaths): link library libsdcc.lib by default, + * (_hasNativeMulFor): modified test for multiplication according to + Raphael Neider's remarks. Integer multiplication is also done with + support functions, + * device/include/pic16/pic18fregs.h: corrected type error in while + testing and including 18f6720 header file + +2004-09-14 Vangelis Rokas + + * src/pic16/device.h (pic16_options): removed field use_crt, + * src/pic16/gen.c (genUnpackBits): added call to pic16_loadFSR0 + until an optimization to handle single bits is added, + * (pic16_loadFSR0): moved before genUnpackBits, + * (genAnd): some white lines removed, + * src/pic16/main.c (_pic16_finaliseOptions): set omit_ivt and clear + leave_reset flags in pic16_options when using crt modules, + +2004-09-12 Maarten Brock + + * src/mcs51/ralloc.c (packRegisters): applied fix by Bernhard Held + for bugs 898889 & 979599. Also used some safer print instructions. + +2004-09-12 Vangelis Rokas + + * src/pic16/device.h (pic16_options_t): added field use_crt, + crt_name, no_crt, + * src/pic16/genarith.c (pic16_genPlus): added an assert(0) line to + catch a probable future bug, + * src/pic16/gen.c: aopIdx function commented out, + * (genAssign): commented out old code which used aopIdx, + * src/pic16/glue.c (pic16glue): removed some legacy fragments of + code, added if conditionals to take into account the --use-crt + command line options, + * src/pic16/main.c (pic16_optionsTable): added new command line + options, --use-crt= and --no-crt, + * (_pic16_linkEdit): now the proper crt object is added in the + linker command line except than when --no-crt is specified, + * src/pic16/pcode.c, + * src/pic16/pcode.h: added some structures and functions for a new + optimization scheme to compansate for instruction overhead between + same iCodes, this scheme is currently under development and is not + working in any way, + * src/pic16/gen.c (genAnd): added patch provided by Aaron Collwell + to && operator, + * device/lib/pic16/startup/crt0i.c, + * device/lib/pic16/startup/crt0iz.c: added global char variable + __uflags to force the generation of an idata section + +2004-09-12 Bernhard Held + + * doc/Makefile, + * doc/clean.mk: added support for easy creation of sdcc-doc.tar.bz2 + * doc/sdccman.lyx: updated sdcc version to 2.4.4 + +2004-09-10 Erik Petrich + + * doc/sdccman.lyx: fixed a problem with my new index entries (thanks + Frieder) and clarified the default code optimization mode + +2004-09-10 Erik Petrich + + * src/SDCC.lex (doPragma, process_pragma), + * src/SDCCglobl.h (struct optimize): added pragmas "opt_code_speed", + "opt_code_size", and "opt_code_balanced" + * src/SDCCmain.c (optionsTable[], printOptions, scanOptionsTable): + regrouped options by category, added support for category headers + * src/SDCCmain.c (parseCmdLine): added options "--opt-code-speed" + and "--opt-code-size" + * doc/sdccman.lyx: documented these new options and pragmas + * src/hc08/gen.c (AccLsh, AccRsh): take speed/size optimization + preference into account + +2004-09-08 Maarten Brock + + * src/SDCCicode.c (geniCodePostInc, geniCodePreInc, geniCodePostDec, + geniCodePreDec): Fixed bug 904237 by generating a warning + * src/SDCCerr.h, + * src/SDCCerr.c: added warning W_SIZEOF_VOID + +2004-09-09 Slade Rich + + * src/pic/device.c : When no max ram set validate full memory range. + * src/pic/pcode.c, + * src/pic/pcodepeep.c : Copy C code comments to optimised replacement code. + +2004-09-08 Maarten Brock + + * device/lib/_gptrget.c, + * device/lib/_gptrput.c: updated comment + * device/lib/calloc.c, + * device/lib/free.c, + * device/lib/malloc.c, + * device/lib/realloc.c: added LGPL, made them reentrant-safe + * src/SDCCcse.c (cseBBlock), + * src/SDCCicode.c (printOperand, geniCodeArray), + * src/SDCCicode.h (struct operand): fixed bug 868103 + * support/regression/tests/bug-868103.c: added + * src/SDCCast.c (searchLitOp), + * src/SDCCcse.h (struct cseDef), + * src/SDCCglue.c (printIvalArray, spacesToUnderscores), + * src/SDCCicode.h (struct operand), + * src/SDCCsymt.h (struct sym_link), + * src/avr/gen.c (hasInc), + * src/ds390/gen.c (hasInc), + * src/hc08/gen.c (genPlusIncr, hasInc), + * src/mcs51/gen.c (hasInc), + * src/pic16/glue.c (pic16_printIvalChar), + * src/pic16/ralloc.c (regWithIdx), + * src/xa51/gen.c (hasInc) : removed warnings + * src/SDCCast.c (createBlock): added comment ??? + * src/hc08/ralloc.c: updated comments + +2004-09-07 Frieder Ferlemann + + * doc/sdccman.lyx: updated section on switch statements, added + section about semaphore locking + * doc/Makefile: added option -info for latex2html + * device/lib/_gptrget.c, + * device/lib/_gptrput.c: __XPAGE instead of P2 in outcommented code + +2004-09-06 Slade Rich + + * src/pic/device.h, + * src/pic/device.c, + * src/pic/port.c : Changed PIC14 code to not set bit RP1 when + maxram is less than 0x100. + +2004-09-06 Slade Rich + + * Bug fixes for PIC14 - signed RSHIFT problem. Patch supplied by Allen(agschrum). + +2004-09-06 Erik Petrich + + * src/port.h, + * src/mcs51/main.c, + * src/ds390/main.c, + * src/z80/main.c, + * src/hc08/main.c, + * src/pic/main.c, + * src/pic16/main.c, + * src/avr/main.c, + * src/xa51/main.c + * src/SDCCicode.c (geniCodeJumpTable): Better logic to determine if a + a jump table is the best form for a switch statement, including + automatic insertion of missing cases to make the case range + continuous. Developed in collaboration with Frieder Ferlemann. + +2004-09-02 Erik Petrich + + * src/hc08/ralloc.c (canDefAccResult): multi-byte shift is unsafe for + accumulator result if it needs sign extension + +2004-09-02 Maarten Brock + + * src/hc08/ralloc.c (canUseAccOperand): fixed comparison bug + +2004-09-02 Maarten Brock + + * device/lib/gbz80/printf.c, + * device/lib/z80/printf.c: removed define for NULL + +2004-09-02 Maarten Brock + + * as/xa51/xa_link.c, + * device/examples/ds390/ow390/ad26.c, + * device/examples/ds390/ow390/cnt1d.c, + * device/examples/ds390/ow390/counter.c, + * device/examples/ds390/ow390/ds2480.h, + * device/examples/ds390/ow390/ds2480ut.c, + * device/examples/ds390/ow390/findtype.c, + * device/examples/ds390/ow390/gethumd.c, + * device/examples/ds390/ow390/owllu.c, + * device/examples/ds390/ow390/ownetu.c, + * device/examples/ds390/ow390/swt12.c, + * device/examples/ds390/ow390/swtloop.c, + * device/examples/ds390/ow390/temp.c, + * device/examples/ds390/ow390/temp10.c, + * device/examples/ds390/ow390/thermo21.c, + * device/examples/ds390/ow390/tinilnk.c, + * device/examples/ds390/ow390/tstfind.c, + * device/examples/serialcomm/windows/serial.cpp, + * device/examples/serialcomm/windows/test_serialcomm.cpp, + * device/include/reg51.h: fixed line endings for cvs + +2004-09-02 Erik Petrich + + * src/hc08/ralloc.c (canDefAccResult, canUseAccOperand, + packRegsForAccUse, packRegisters): new accumulator register + packing algorithm + * support/regression/ports/hc08/support.c (_putchar): suppress + warning of unused variable + * src/SDCCicode.c: added SWAP entry to codeTable + +2004-09-01 Maarten Brock + + * device/lib/sprintf.c: forgot to add this file before previous commit + +2004-09-01 Vangelis Rokas + + * src/pic16/gen.c (genPackBits): added operand right in function + parameters, load result directly if p_type is POINTER (that is + called by genNearPointerSet) + * (genUnPackBits): added operand left in function parameters, + * (genNearPointerGet, genNearPointerSet): prevent the loading of + FSR0 if accessing bitfields, + +2004-08-31 Maarten Brock + + * device/include/stdio.h: added NULL, size_t, typedef pfn_outputchar, + _print_format; updated printf, sprintf, vsprintf + * device/include/asm/default/features.h: corrected comment/define + * device/lib/Makefile.in: added sprintf.c + * device/lib/libsdcc.lib: added sprintf module + * device/lib/printf_large.c, + * device/lib/vprintf.c, + * device/lib/sprintf.c: totally refactored printf_large and vprintf + into these 3 files + * support/regression/Makefile: changed ALL_PORTS into a usefull default + * support/regression/ports/mcs51-stack-auto/spec.mk: added sprintf + * support/regression/tests/bug-927659.c: removed dummy putchar, enabled + hc08 test + * support/regression/tests/zeropad.c: define idata as data for hc08 + +2004-08-31 Erik Petrich + + * src/SDCCpeeph.c (labelIsReturnOnly): support hc08 rts opcode also + * src/SDCCpeeph.c (buildLabelRefCountHash): assume function entry point + labels are referenced at least once (even if a reference is not found) + * src/hc08/gen.c (emitcode): set isComment flag for comments + * src/hc08/peeph.def: added rules 5a..5f (optimize redundant immediate + loads), rules 6a..6b (optimize jumps to return) + +2004-08-30 Erik Petrich + + * device/lib/acosf.c (acosf), + * device/lib/asinf.c (asinf), + * device/lib/atanf.c (atanf), + * device/lib/ceilf.c (ceilf), + * device/lib/cosf.c (cosf), + * device/lib/coshf.c (coshf), + * device/lib/cotf.c (cotf), + * device/lib/fabsf.c (fabsf), + * device/lib/floorf.c (floorf), + * device/lib/log10f.c (log10f), + * device/lib/logf.c (logf), + * device/lib/sinf.c (sinf), + * device/lib/sinhf.c (sinhf), + * device/lib/sqrtf.c (sqrtf), + * device/lib/tanf.c (tanf), + * device/lib/tanhf.c (tanhf), + * device/include/math.h: defined _FLOAT_FUNC_REENTRANT macro and + replaced all instances of "reentrant" in the library functions + defined in math.h with this macro. + * support/regression/tests/float_trans.c: reenabled test for hc08 + +2004-08-30 Bernhard Held + + * device/lib/pic16/Makefile.common.in: added MODELFLAGS again, it was + erroneously deleted + +2004-08-30 Erik Petrich + + * src/hc08/gen.c (loadRegFromAop): better use of clra & clrx + * src/hc08/gen.c (genAnd, genOr): fixed bug with conditional when + multi-byte volatile operands are used + * src/hc08/gen.c (shiftRLong): fixed bug with wrong rotate direction + * src/hc08/main.c (_hc08_genAssemblerPreamble): moved the built-in + initialization to area GSINIT0 so that it would always precede + any static initializers in GSINIT + * support/regression/tests/zeropad.c: fixed idata define for hc08 + * support/regression/tests/bug-927659.c, + * support/regression/tests/float_trans.c: disabled tests for hc08 + pending missing library routines + * .version: increased version number to 2.4.4 - hc08 port now passes + regression tests + + 2004-08-29 Bernhard Held * device/lib/pic16/Makefile.common.in: added $(MM) to fix `make clean` @@ -47,7 +409,6 @@ * device/lib/_mullong.c: defined an alternate struct layout for big endian ports (hc08) ->>>>>>> 1.812 2004-08-28 Erik Petrich * src/hc08/gen.c (shiftL2Left2Result): fix for bug-500536 regression