X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=ChangeLog;h=e5e168181a2388a7dc55c6507a4a772bce31def6;hb=014ffb2177ce6852557ae1895d9a800856831c55;hp=99640ebc31ff4be2e4e223373423562d2ea722ee;hpb=5bc044cc26d5c7120689edffd312cb2774fc1c29;p=fw%2Fsdcc diff --git a/ChangeLog b/ChangeLog index 99640ebc..e5e16818 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,4 +1,703 @@ -2005-03-12 Vangelis Rokas +2005-06-19 Erik Petrich + + * sim/ucsim/hc08.src/inst.cc (inst_condbranch): fixed simulation of + BGT, BLE, BHI, and BLS instructions + * src/hc08/gen.c (outAcc, outBitC, outBitNV, genCmpLt, genCmpGt, + genCmpEq): removed + * src/hc08/gen.c (genCmpEQorNE, genCmp, branchopCmp, nameCmp, + negatedCmp, exchangedCmp, genhc08Code): rewrite of comparison handling, + fixes bug #1216342 + * src/hc08/peeph.def: added rules 2g - 2l for new conditional branches + +2005-06-15 Raphael Neider + + * src/pic16/NOTES: moved Vangelis from active developers to people to contact + * device/include/pic16/{6520.h,8520.h}: fixed configuration bits + * src/pic16/gen.c (): prevent iTemps from being considered to be in CODESPACE, + fixes bug #1221120; for symbols in CODESPACE get number of bytes to read from + OP_SYM_TYPE() instead of OP_SYM_ETYPE() + +2005-06-06 Frieder Ferlemann + + * device/include/mcs51/reg764.h: Changed PB0 to PBO as requested by + Marcel Telka in bug #1215704 + +2005-06-02 Slade Rich + + * src/pic/pcode.c : Changed pseudo stack size to 15 to allow WSAVE to be located in shared memory bank. + +2005-05-31 Raphael Neider + + * src/pic16/{gen.c,genarith.c}: replaced sign-extension + "CLRF, BTFSC , DECF/COMF" with side-effect-free + "CLRF, BTFSC , SETF"; fixes "long>>9" + +2005-05-27 Maarten Brock + + * device/lib/_strncpy.c: fixed the fix + +2005-05-26 Raphael Neider + + * src/pic16/glue.c (pic16_printIvalChar): fixed _constant_ string + initializers with \0, bug #1208187 + * src/pic/glue.c (printIvalChar): fixed (non- and constant) string + intializers with \0, bug #1208187 + +2005-05-26 Raphael Neider + + * src/pic16/glue.c (pic16_printIvalChar): fixed string + initializers with \0, bug #1208187 + * src/pic16/main.c (_process_pragma): added sanity checks + for stack position and size, emit warnings when appropriate + +2005-05-26 Maarten Brock + + * device/lib/_strncpy.c: fixed not filling with \0 + +2005-05-26 Erik Petrich + + * src/SDCCast.c (funcOfType, funcOfTypeVarg, stringToSymbol, + createFunction), + * src/SDCC.y (external_definition, enumerator, parameter_declaration, + compound_statement), + * src/SDCCsymt.h, + * src/SDCCsymt.c (addSymChain, processFuncArgs): fixed bug #1159134 + +2005-05-24 Raphael Neider + + * src/pic16/glue.c (pic16_printGPointerType): fixed #1207796 + +2005-05-24 Raphael Neider + + * device/include/pic16/pic18f{442,452,458}.h: fixed wrong + TRISE definitions, closes bug #1162453 + +2005-05-22 Raphael Neider + + * src/pic16/main.c (_process_pragma): check for missing + arguments to pragmas code and udata + * device/include/pic16/pic18f{2550,4331,4455,4520}.h: + consistency fixes to match other headers (thanks to Jim Paris) + * device/lib/pic16/libio/i2c.ignore: 18f4331 provides no I2C + +2005-05-21 Maarten Brock + + * src/SDCCicode.c (isOperandEqual): fixed missing ; + +2005-05-19 Maarten Brock + + * support/regression/tests/bug1198642.c: new test + * src/SDCCicode.c (isOperandEqual): fixed bug 1198642 + * src/SDCCcse.c (findPrevIc): added comment, please have a look + * support/scripts/resource.h, + * support/scripts/resource.rc, + * src/src.dsp: added sdcc.ico to project as icon for sdcc.exe + * support/scripts/sdcc.ico: added 32x32 icon + +2005-05-18 Raphael Neider + + * device/lib/pic16/libdev/pic18f*.c, + * device/include/pic16/pic18f*.h: updated "sfr" and "at X" + keywords to "__sfr" and "__at (X)" + * device/include/pic16/pic18fregs.h: added pic18f4520 + * src/pic16/pcode.c (pic16_pCode2str): fixed (?) bug + #1203088 (MPLAB compatibility) + +2005-05-17 Raphael Neider + + * device/include/pic16/pic18f{2550,4331,4455,4520}.h: NEW + * device/lib/pic16/libdev/pic18f{2550,4331,4455,4520}.c: NEW + * device/lib/pic16/pics.all: added new devices + * src/pic16/device.c: added support for pic18f4520 + +2005-05-16 Raphael Neider + * src/pic16/gen.{c,h}: s/mov2f/pic16_mov2f made public + * src/pic16/genarith.c (genAddLit): fixed bug 1202480 + * src/pic16/pcode.{c,h} (pic16_newpCodeOpBit_simple): NEW + convenience function for bit access + +2005-05-15 Maarten Brock + + * device/lib/printf_large.c: fixed bug 1193299 + * support/regression/tests/bug1057979.c: added test %3.3s + +2005-05-15 Frieder Ferlemann + + * device/include/mcs51/8051.h, + * device/include/mcs51/8052.h: made parseable with lint + * device/include/mcs51/lint.h: added include file for (sp)lint + * doc/sdccman.lyx: added doc about use of splint (syntax checking tool) + * doc/cdbfileformat.lyx, + * doc/test_suite_spec.lyx: hardcoded date to the date of last text change + +2005-05-14 Raphael Neider + + * device/lib/pic16/Makefile.common.in: add --optimize-df to OPT_FLAGS + * device/lib/pic16/libc/stdlib/itoa.c (new) + * device/lib/pic16/libc/stdlib/Makefile: have itoa.c built + * device/lib/pic16/libio/Makefile: exclude subdir according to + ${subdir}.ignore for certain PICs (lacking e.g. i2c) + * device/lib/pic16/libio/i2c.ignore (new): pic18f1220 has no I2C support + * src/pic16/gen.c (genFunction): prevent annoying warning + * src/pic16/pcode.c: renamed stack_t to dynstack_t to prevent + nameclashes on BeOS + * support/cpp2/cppmain.c (cpp_output_string): new + * support/cpp2/cpplib.c (_cpp_do__Pragma): fixed _Pragma(""), + fixes bug 1116802 + +2005-05-13 Borut Razem + + * src/SDCCmain.c (linkEdit): fixed bug 1195202 + +2005-05-12 Erik Petrich + + * .version: changed to version 2.5.1; back to bleeding edge development + +2005-05-11 Borut Razem + + * doc/sdccman.lyx doc/cdbfileformat.lyx doc/test_suite_spec.lyx: + generate PDF version 1.3 documents + +2005-05-07 Erik Petrich + + * .version: changed to version 2.5.0 + +2005-04-27 Frieder Ferlemann + + * doc/sdccman.lyx: updated weblinks, index and smaller updates + +2005-04-26 Erik Petrich + + * doc/sdccman.lyx: changed version 2.5.0, documented --std-c89, + --std-sdcc89, --std-c99, --std-sdcc99, and the corresponding #pragmas, as + well as many smaller updates. + * .version: changed to version 2.5.0-pre1 + +2005-04-26 Jesus Calvino-Fraga + + * src/SDCCmain.c (setIncludePath): added port->target to SDCC_INCLUDE_NAME + +2005-04-26 Maarten Brock + + * support/regression/tests/bug1185672.c: added + * src/mcs51/gen.c (aopGetUsesAcc, genCpl, genAnd, genOr, genXor): fixed + bug 1185672 + * src/mcs51/gen.c (genCall): added comments, made it look safer + * src/mcs51/gen.c (genEndFunction): simplified + +2005-04-25 Maarten Brock + + * src/mcs51/ralloc.c (serialRegAssign): fixed bug 1189609 + +2005-04-14 Borut Razem + + * fixed bug 1045046 - SIGSEGV with really simple code?: + src/pic/pcode.c (pCodeInitRegisters)- pseudo stack size increased to 16 + src/pic/ralloc.c (typeRegWithIdx) - error message on pseudo stack overflow + +2005-04-14 Borut Razem + + * src/pic16/gen.c (genInline), src/pic16/main.c (_process_pragma), + src/pic16/device.h: temporarily disabled experimental #inline pragma + for 2.5.0 release + +2005-04-14 Maarten Brock + + * device/include/z80/stdio.h, + * device/include/z80/string.h: removed these highly incomplete files so + SDCC can use the default ones in device/include/ + +2005-04-14 Erik Petrich + + * src/mcs51/gen.c (genEndFunction): removed unused variable to fix + gcc warning. + * device/lib/Makefile.in: default PORTINCDIR to the mcs51 subdir to + fix sdcpp warnings. + +2005-04-12 Maarten Brock + + * device/include/malloc.h: removed redundant __reentrant prototypes + * device/lib/_mullong.c: added working xstack variant in asm (C version + doesn't pass regression tests) + * device/lib/bpx.c: used __data and made bpx char for mcs51 + * src/SDCCast.c (decorateType): removed unused GPTYPE_IDATA, + (createFunction): fixed bug with xstackPtr + * src/SDCCcse.c: corrected comments + * src/SDCCopt.c (convertToFcall): fixed warning in MSVC, + (killDeadCode, eBBlockFromiCode): removed unused code + * src/SDCCsymt.h: removed unused GPTYPE_GPTR and GPTYPE_IDATA, + corrected comments + * src/mcs51/gen.c (aopForSym, aopPut, toBoolean, unsaveRegisters, + assignResultValue, genCall, genFunction, genEndFunction, genAnd, + genOr, genXor, genAddrOf): fixed several bugs concerning xstack + (genModOneByte): fixed warning in MSVC + * src/mcs51/main.c (): added comments + * src/mcs51/peeph.def: changed 129 to 129.a, added 129.b, 129.c & 129.d + +2005-04-12 Maarten Brock + + * src/SDCCmain.c (linkEdit): oops, changed one line too many + +2005-04-11 Maarten Brock + + * src/SDCCmain.c (linkEdit): fixed bug with finding crt0.o for z80 + +2005-04-10 Vangelis Rokas + + * src/pic16/glue.c (printIvalChar): fixed bug when emitting + characters arrays of larger size than the declared one. + +2005-04-10 Borut Razem + + * src/pic/gen.c (genInline), + src/pic/pcode.c (newpCodeAsmDir), (pCode2str), + (genericPrint), (unlinkpCodeFromBranch), (compareLabel), + (findNextInstruction), (findPrevInstruction), + (findInstructionUsingLabel), + src/pic/pcode.h: fixed bug #1164907 - Labels not being recognized + * src/pic/pcode.c (findLabel): added missing '\n' + * src/src.dsp: added SDCCdwarf2.c to the project + +2005-04-09 Borut Razem + + * support/scripts/sdcc.nsi: added include/hc08/* h to NSIS setup + +2005-04-08 Raphael Neider + + * src/pic16/pcode.c: added helpers defmapInsertAfter (insert a new item + into the chain after a given one) and mergeDefmapSymbols (combine + defmap entries for each symbol per pcode) + * (createDefmap): have defmap entries merged in the end + * (defmapReplaceSymRef): split defmap entries covering two accesses to + a symbol before replacing one access type's symbol, merge symbols in + the end (replacement symbol might already have an entry) + * (assignValnums): keep reference to written WREG intact + +2005-04-08 Raphael Neider + + * src/pic16/pcode.c (struct defmap_s): named anonymous union (for + Alpha) + +2005-04-08 Vangelis Rokas + + * src/pic16/pcode.c (pic16_get_op2): enlarged size of array b to 128 + bytes + +2005-04-07 Raphael Neider + + * device/include/pic16/usart.h: added compatibility defines for + devices with more than one USART + * device/include/pic16/pic18f[68][567]20.h: activated above defines + +2005-04-07 Maarten Brock + + * device/lib/Makefile.in: updated for port specific include + +2005-04-07 Maarten Brock + + * support/regression/ports/mcs51/spec.mk: added mcs51 include + +2005-04-07 Maarten Brock + + * device/include/8051.h, + * device/include/8052.h, + * device/include/at89S8252.h, + * device/include/at89c55.h, + * device/include/at89x051.h, + * device/include/at89x51.h, + * device/include/at89x52.h, + * device/include/mcs51reg.h, + * device/include/reg51.h, + * device/include/reg764.h, + * device/include/regc515c.h, + * device/include/sab80515.h: (re)moved these 12 files + * device/include/mcs51/8051.h, + * device/include/mcs51/8052.h, + * device/include/mcs51/at89S8252.h, + * device/include/mcs51/at89c55.h, + * device/include/mcs51/at89x051.h, + * device/include/mcs51/at89x51.h, + * device/include/mcs51/at89x52.h, + * device/include/mcs51/mcs51reg.h, + * device/include/mcs51/reg51.h, + * device/include/mcs51/reg764.h, + * device/include/mcs51/regc515c.h, + * device/include/mcs51/sab80515.h: and added them here + +2005-04-06 Maarten Brock + + * device/include/stdarg.h: changed SDCC specific keywords to double + underlined form. + * device/include/stdint.h: changed intptr_t and uintptr_t for others than + mcs51 and ds390. + * device/include/hc08/mc68hc908gp32.h, + * device/include/hc08/mc68hc908jb8.h, + * device/include/hc08/mc68hc908jkjl.h, + * device/include/hc08/mc68hc908qy.h: fixed comments + * device/include/mcs51/README: updated + * device/include/mcs51/c8051f120.h: added PINRSF + * device/lib/pic16/libc/stdlib/crc16.c: fixed comments + * src/pic16/pcode.c: MSVC6 doesn't accept declaring new variables + amidst code. Also inline is not supported. + +2005-04-06 Raphael Neider + + * src/pic16/pcode.c (pic16_pCodeReplace): also update pcflow->end + * (createDefmap): fixed CALLs to depend on FSR1 and RETLW to restore + callers stack/frame pointers + +2005-04-06 Vangelis Rokas + + * device/include/pic16/usart.h: added, missing in previous commit, + * device/include/pic16/adc.h: fixed typo, + * device/lib/pic16/libc/utils/cvtdec.S: added missing in previous + commit, + * device/lib/pic16/libc/stdlib/g_ftoa.S: modified to include + + * device/lib/pic16/libc/stdio/streams.c: leave stdin, stdout + uninitialized because a bug appears with gplink + * device/lib/pic16/{some makefiles}: moved $(CSTD) from CFLAGS to + COMPILE_FLAGS and added CPPFLAGS with -nostdinc because sdcpp + complains for unrecognised option + +2005-04-05 Raphael Neider + + * src/pic16/gen.c (pic16_popCopyReg): made copying work for extended + structs as well (using memcpy) + * (genFunction): fixed comparison, used pCodeOpLabel to reduce warning + on ISRs (GOTO has no label) + * src/pic16/device.h: added OF_OPTIMIZE_DF + * src/pic16/main.c: added compiler switch --optimize-df to enable the + new data flow analysis/optimization + * src/pic16/pcode.c: added (prototypes for and implementation of) + dataflow analysis functions, fixed pCodeInstructions' inCond and + outCond values, made RCALL a branch instruction + * (pic16_unlinkpCode): keep C line if possible + * (pic16_pCodeUnlink): removed cast on left side of assignment, have + C line moved if possible + * (pic16_getRegFrompCodeOp): NEW, improved version of... + * (pic16_getRegFromInstruction,pic16_getRegFromInstruction2): changed + to use new pic16_getRegFrompCodeOp (works for more SFRs) + * (pic16_BuildFlow): fixed skip instructions with label (did not start + new flow) + * (pic16_getJumptabpCode): NEW, needed in... + * (LinkFlow): fixed handling of jumptables, calls and conditional + branches + * (pic16_InsertCommentAfter): NEW + * (pic16_pCodeReplace): made verbose and flow preserving + * (AnalyzeFlow): added call to data flow analysis + * src/pic16/pcode.h: added defmaps to pCodeFlow struct + * src/pic16/pcodeflow.h: added PCC_STATUS to mean all STATUS bits + * src/pic16/ralloc.c (packRegsForAssign): added return 1 in the end + +2005-04-03 Erik Petrich + + * src/SDCCast.c (decorateType): fixed bug #1105626 + +2005-04-02 Vangelis Rokas + + * device/include/asm/pic16/features.h, + * pic18f*.h headers, + * device/include/pic16/adc.h, + * device/include/pic16/delay.h, + * device/include/pic16/i2c.h, + * device/include/pic16/malloc.h, + * device/include/pic16/stdio.h, + * device/include/pic16/stdlib.h, + * device/include/pic16/string.h, + * device/lib/pic16/libc/stdio/printf_tiny.c, + * device/lib/pic16/libc/stdio/printf_small.c, + * device/lib/pic16/libc/stdio/strmgpsim.c, + * device/lib/pic16/libc/stdio/strmmssp.c, + * device/lib/pic16/libc/stdio/strmusart.c, + * device/lib/pic16/libc/stdio/vfprintf.c, + * device/lib/pic16/libc/stdlib/ltoa.c, + * device/lib/pic16/libc/stdlib/putchar.c, + * device/lib/pic16/libc/stdlib/x_ftoa.c, + * device/lib/pic16/libc/stdlib/memchrpgm.c, + * device/lib/pic16/libc/stdlib/memchrram.c, + * device/lib/pic16/libc/stdlib/memcpypgm2ram.c, + * device/lib/pic16/libc/stdlib/memcpyram2ram.c, + * device/lib/pic16/libio/adc/adcbusy.c, + * device/lib/pic16/libio/adc/adcread.c, + * device/lib/pic16/libio/adc/adcsetch.c, + * device/lib/pic16/libio/usart/ubaud.c, + * device/lib/pic16/libio/usart/ubusy.c, + * device/lib/pic16/libio/usart/udrdy.c, + * device/lib/pic16/libio/usart/uopen.c, + * device/lib/pic16/libio/usart/uputc.c, + * device/lib/pic16/libsdcc/gptr/gptrget1.c, + * device/lib/pic16/libsdcc/gptr/gptrget2.c, + * device/lib/pic16/libsdcc/gptr/gptrget3.c, + * device/lib/pic16/libsdcc/gptr/gptrget4.c, + * device/lib/pic16/libsdcc/gptr/gptrput1.c, + * device/lib/pic16/libsdcc/gptr/gptrput2.c, + * device/lib/pic16/libsdcc/gptr/gptrput3.c, + * device/lib/pic16/libsdcc/gptr/gptrput4.c: modified all SDCC + specific keywords to double underlined form, + * device/lib/pic16/libc/Makefile.rules, + * device/lib/pic16/libsdcc/Makefile.rules, + * device/lib/pic16/libm/Makefile, + * device/lib/pic16/libio/Makefile.rules: added CSTD macro in CFLAGS + to compile with C standard set in Makefile.common + * device/lib/pic16/libc/stdlib/Makefile: added new C sources + rand.c and crc.c in compilation process, + * device/lib/pic16/libsdcc/int/divuint.c, + * device/lib/pic16/libsdcc/long/divulong.c: changed declaration of + `c' from signed to unsigned, + * device/lib/pic16/startup/crt0.c, + * device/lib/pic16/startup/crt0i.c, + * device/lib/pic16/startup/crt0iz.c: adopted to all SDCC specific + keywords to double underlined form, bug fixes in _do_cinit function + which prevented the correct initialization of the .idata segment, + * src/pic16/pcoderegs.c (insideLRBlock): fixed a bug that caused the + core to enter a infinite loop + * device/lib/pic16/libc/stdlib/rand.c, crc.c: new files + +2005-04-02 Erik Petrich + + * src/SDCCicode.c (getArraySizePtr): fixed bug #1122171 + +2005-04-01 Erik Petrich + + * device/include/Makefile.in: add support for hc08 subdirectory + * device/include/hc08/: new subdirectory + * device/include/hc08/mc68hc908jkjl.h: new header contributed by + Lucas Loizaga, thanks! + * device/include/hc08/mc68hc908qy.h, + * device/include/hc08/mc68hc908gp32.h, + * device/include/hc08/mc68hc908jb8.h: moved hc08 register defs to + their own directory. Changed internal macro names to use the compiler + reserved namespace. Changed SDCC specific keywords to double + underlined form. + * device/include/math.h, + * device/include/malloc.h, + * device/include/stdarg.h, + * device/include/stdbool.h + * device/include/string.h, + * device/include/tinibios.h, + * device/include/ds400rom.h, + * device/include/8051.h, + * device/include/8052.h, + * device/include/80c51xa.h, + * device/include/at89c55.h, + * device/include/at89S8252.h, + * device/include/at89x51.h, + * device/include/at89x52.h, + * device/include/ds80c390.h, + * device/include/reg764.h, + * device/include/regc515c.h, + * device/include/sab80515.h, + * device/include/mcs51/c8051f000.h, + * device/include/mcs51/c8051f018.h, + * device/include/mcs51/c8051f020.h, + * device/include/mcs51/c8051f040.h, + * device/include/mcs51/c8051f060.h, + * device/include/mcs51/c8051f120.h, + * device/include/mcs51/c8051f300.h, + * device/include/mcs51/c8051f310.h, + * device/include/mcs51/c8051f320.h, + * device/include/mcs51/c8051f330.h, + * device/include/mcs51/c8051f350.h, + * device/include/z180.h: Changed SDCC specific keywords to double + underlined form. + +2005-03-31 Vangelis Rokas + + * src/pic16/device.c (Pics16[]): added devices 18F2550, 18F4331, + 18F4455, + * (pic16_assignConfigWordValue): disable testing of configuration + register value with config mask, + * src/pic16/gen.c (pic16_testStackOverflow): prefix stack test + function with port->fun_prefix, + * (genFunction): when generating a naked interrupt function never + create an absolute segment placed in interrupt vector address, place + the actual interrupt function at IVA instead, when an interrupt + function is generated with unspecified interrupt then do not create + the absolute section, + * (genGenPointerGet, genGenPointerSet, genPackBits): replace all + code for generating a call to generic pointer get/put function with + a call to function pic16_callGenericPointer(), + * src/pic16/genutils.c (pic16_callGenericPointerRW): NEW, generates + the call to the generic pointer get/put functions with prefixing the + function name with port->fun_prefix, + * src/pic16/glue.c (pic16glue): ifdef-out test of OF_LR_SUPPORT, + * src/pic16/main.c (_process_pragma): prefix function with + port->fun_prefix, + * (_pic16_finaliseOptions): define macro __18Fxxxx macro when + calling assembler, old 18Fxxxx macro is deprecated, + * src/pic16/pcode.c (unlinkpCodeFromBranch): added PC_INLINE and + PC_ASMDIR in while condition, + * (findInstruction): add PC_ASMDIR in while condition, + * (buildCallTree): prefix main with port->fun_prefix, + * (pic16_pCode2str): fixed bug that didn't emit the memory access + identifier for variable with banked access in instructions BTFSS, + BTFSC, BCF, BSF, BTG + * (AnalyzeFlow): moved call to OptimizepCode to pic16_AnalyzeBanking, + * src/pic16/pcodepeep.c (pCodeOpCompare): increase size of b to 1024, + * src/pic16/pcoderegs.c (pic16_pCodeRegoptimizeRegUsage): don't + perform optimization when enviroment variable NO_REG_OPT is set, + * (insideLRBlock): NEW, return 1 if register is inside an + INF_LOCALREGS block, + * (RemoveRegFromLRBlock): remove a register that is completely + eliminated by register optimization, but it is still left in local + register store/restore in/from stack block, + * (Remove2pcodes): after removing register, check to see if it + should be removed from local register store/restore in/from stack + block, + * src/pic16/ralloc.c (pic16_decodeOp): added decode for + DUMMY_READ_VOLATILE, + + * device/include/pic16/adc.h: minor prototype modifications and + update, + * device/include/pic16/malloc.h: added GPL notice various + modifications, + * device/include/pic16/stdint.h: NEW, standard header for ints + * device/include/pic16/delay.h: NEW, header for delay functions, + delay10tcy, delay100tcy, delay1ktcy, delay10ktcy, delay100ktcy, + delay1mtcy, + * device/include/pic16/signal.h: NEW, header providing helper macros + for implementing signal handlers, + * device/include/pic16/stdio.h: added prototypes for functions, + printf, vprintf, sprintf, vsprintf, fprintf, vfprintf. Added + prototypes for stdin and stdout, added macro PUTCHAR to + automatically implement putchar function prototype, + * device/include/pic16/usart.h: modified and updated USART library, + * device/lib/pic16/libio/adc/, + * device/lib/pic16/libio/i2c: some modifications to improve library + performance, + * device/lib/pic16/libc/stdio/: modifications for the new printf* + family of functions, + * device/lib/pic16/libc/stdlib/: various modifications in the malloc + family of functions and other sources, + * device/lib/pic16/libio/usart/: NEW, c sources for the usart module + of the PIC18Fxx[28] devices, + * device/lib/pic16/libc/delay/: NEW, c sources for the delay functions, + * device/lib/pic16/libc/utils/: minor modifications in the .S sources, + * device/lib/pic16/startup/{crt0i.c, crt0iz.c}: redesign of the + _do_cinit function, because the previous failed when local variables + where not placed in the same memory bank, + * device/lib/pic16/libsdcc/char/: various modifications to improve + library performance, + * doc/sdccman.lyx: some reorganization of the PIC16 part, added many + information on the new functions of the c library and more... + +2005-03-28 Erik Petrich + + * src/SDCCBBlock.c (iCodeBreakDown): fixed bug #1170212 + +2005-03-26 Raphael Neider + + * src/pic16/gen.c (genSkipc): fixed semantics (execute branch + if condition == CARRY) + * (genCmp): adapted to new genSkipc semantics + * src/pic16/genutils.c (pic6_genCmp_special): removed side effect + on rIfx (genCmp was broken) + +2005-03-26 Erik Petrich + + * src/SDCCmain.c (setDefaultOptions, optionsTable[], parseCmdLine), + * src/z80/main.c (_keywords[]), + * src/SDCCglobal.h (struct options), + * src/SDCC.y, + * src/SDCC.lex (isTargetKeyword, doPragma, pragma_tbl[]): new pragmas + to enable/disable SDCC and C99 extensions/keywords (std_c89, std_sdcc89, + std_c99, std_sdcc99). Also, equivalent command line options (--std-c89, + --std-sdcc89, --std-c99, --std-sdcc99). SDCC specific keywords are + always available in leading double underscore form. The C99 support is + mostly missing, but it's a start. + * support/regression/tests/bug-227710.c: fixed nonconforming use of + reserved identifier "__data". + +2005-03-24 Maarten Brock + + * src/mcs51/peeph.def: fixed bug 1170013 + +2005-03-22 Maarten Brock + + * device/include/mcs51reg.h: fixed bug 842007 + +2005-03-21 Erik Petrich + + * src/SDCCcflow.c (dfNumCompare): committed the wrong version of this + last time. + +2005-03-20 Erik Petrich + + * src/port.h (struct PORT), + * src/avr/ralloc.c (avr_assignRegisters), + * src/avr/main.c, + * src/ds390/ralloc.c (ds390_assignRegisters), + * src/ds390/main.c, + * src/hc08/ralloc.c (hc08_assignRegisters), + * src/hc08/main.c, + * src/mcs51/ralloc.c (mcs51_assignRegisters), + * src/mcs51/main.c, + * src/pic/ralloc.c (pic14_assignRegisters), + * src/pic/main.c, + * src/pic16/ralloc.c (pic16_assignRegisters), + * src/pic16/main.c, + * src/xa51/ralloc.c (xa51_assignRegisters), + * src/xa51/main.c, + * src/z80/ralloc.c (z80_assignRegisters), + * src/z80/ralloc.h, + * src/SDCCopt.c (eBBlockFromiCode, replaceRegEqv, killDeadCode), + * src/SDCCcse.c (ifxOptimize, cseBBlock, cseAllBlocks), + * src/SDCCcse.h, + * src/SDCCdflow.c (computeDataFlow), + * src/SDCCdflow.h, + * src/SDCCloop.c (addDefInExprs, loopInvariants, loopOptimizations), + * src/SDCCloop.h, + * src/SDCCcflow.c (*), + * src/SDCCcflow.h, + * src/SDCCBBlock.c (iCodeBreakDown, dumpEbbsToFileExt, eBBWithEntryLabel), + * src/SDCCBBlock.h (struct ebbIndex): new struct that keeps two copies + of the eBBlock list, sorted by both bbnum and dfnum. (fixes bug with + immedDom() returning wrong block; probably fixes bug #1160833) + +2005-03-20 Borut Razem + + * support/scripts/inc2h.pl: WIN32 port + +2005-03-19 Maarten Brock + + * device/lib/makefile.in: added abs.c and labs.c + +2005-03-17 Maarten Brock + + * device/include/stdint.h: added + * device/lib/abs.c: added + * device/lib/labs.c: added + * device/include/stdlib.h: added abs() and labs() prototypes + * device/lib/libsdcc.lib: added abs and labs + * device/include/float.h, + * device/lib/_fsmul.c, + * device/lib/printf_fast.c, + * device/lib/printf_tiny.c: updated comments + +2005-03-16 Erik Petrich + + * src/SDCCicode.c (geniCodeSwitch, geniCodeJumpTable): fixed + bug #1164313 + +2005-03-16 Erik Petrich + + * src/SDCCcse.c (cseBBlock): retain assignment to self when volatile + * src/SDCCast.c (isLoopCountable): fixed bug #1161985 + +2005-03-15 Maarten Brock + + * device/lib/printf_large.c: removed inline assembly for portability and + readability. Use printf_fast if speed or size are more important. + * src/pic16/gen.c: removed conditions around use of DEBUGpc + * src/pic16/genutils.h: added define for DEBUGpc for MSVC + +2005-03-15 Vangelis Rokas + + * src/pic16/genutils.c (pic16_genCmp_special): initialized offs to + prevent compiler warning + +2005-03-14 Vangelis Rokas * device/lib/pic16/startup/crt0i.c (_cinit): local variables where moved to level 0 and declared as static. Also they are explicit @@ -79,7 +778,7 @@ * src/pic16/gen.c (pic16_loadFSR0, genPackBits, genUnpackBits, genNearPointerGet): (hopefully) fixed access to bitfields via pointers (p->bitN = x; and x = p->bitN; failed) - + 2005-03-09 Paul Stoffregen * device/lib/printf_fast.c: fix leading zero format, eg "%02d"