X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=ChangeLog;h=5687854c25554a583b79c71f88a5b11f76ecbdb2;hb=73dcfcdb63f80c8d624e320f41ffb74b2b77e252;hp=6e0ef727a13b51f2974749cdb94617faadd17eef;hpb=7c3140796a06e3defa9587283a5ba770eeeb3979;p=fw%2Fsdcc diff --git a/ChangeLog b/ChangeLog index 6e0ef727..5687854c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,256 @@ +2005-07-04 Raphael Neider + + * src/pic/gen.c (popGet): changed assert to allow for + bit operands + * (popGetAddr): changed signature to provide + an additional index, patched all call sites + * (genCmpEq): handle literal-like operands correctly + * (genAddrOf): added sanity checks on __code/__data pointers + * (genAssign): added handling of symbols from __code section + * (gencjne): do not generate code for comparisons whose result + is neither stored nor used, fixes bug #1171114 + * (AccLsh, AccRsh): operate on operand instead of WREG + * (shift{Left,Right}_Left2ResultLit): NEW, size independant + replacement for Shift{LR}{12}Left2Result; shift (byte/int/long) + by known count + * rewrote complete shift-by-literal logic, commented unused + functions out + * (genConstPointerGet): get multiple bytes (if result size > 1), + fixed handling of non-immediate addresses + * (genPointerGet): handle CODE pointers like CONST pointers + * (genpic14Code): insert C-SRC lines as Cource-pCodes + * ({aop,op}_isLitLike): NEW, single place to decide whether an + operand is to be treated as a literal or not + * (mov2w,genPcall,genCmpEq), + src/pic/genarith.c: use aop_isLitLike() to decide between + literal/register contents + * (addSign): added missing offset + * src/pic/gen.h: remove newline after FENTRY/FEXIT comments, + only emit comment in debug-mode, + use {aop,op}_isLitLike throughout the file + * src/pic/glue.c: fix initializers for pointers (work in progress) + * src/pic/pcode.c (get_op): honor index on _const symbols + * ({reset,dump}pCodeStatistics): NEW, estimate code size + * (dumppBlock): added pCode size estimation + * src/pic/ralloc.c (deassignLRs,serialRegAssign,packRegisters): + check for IS_SYMOP before OP_SYMBOL'ing + * fixed indentation, compacted switch-statements + * (allocReg): find free register and allocate it instead of + allocating new registers all the time + * (deassignLRs): prevent POINTER_GET's from being assigned the same + registers as its operands (necessary only for multibyte GETs) + +2005-07-01 Raphael Neider + + * src/pic/gen.h: added prototypes emitpComment, popGetAddr and + debugging .asm-output macros FENTRY + FEXIT + * src/pic/gen.c (Safe_vsnprintf): NEW, is there a more generic + way... I wonder... + * (emitpComment): NEW, printf to pCode + * (popGet): added assert on too large offsets, fixed PO_IMMEDIATE's + offset handling + * (popGetAddr): NEW, variant of popGet to access an immediates + high(er) bytes instead of the n'th byte of memory they reference, + replaced popGet with popGetAddr where neccessary + * (genDataPointerGet): reactivated and fixed implementation + * (genNearPointerGet): enabled call to genDataPointerGet, fixes array- + accesses + * (genDataPointerSet): fixed multibyte assignments + * (genpic14Code): fixed --i-code-in-asm handling + * src/pic/genarith.c: fixed PO_IMMEDIATE issue using popGetAddr, + * (genPlus): fixed index-out-of-bounds error + * src/pic/pcode.c (get_op): fixed PO_IMMEDIATE's index/offset handling + * src/pic/ralloc.c: added debugging output macro FENTRY2 + * (spillThis): fixed indentation, enbraced for-body for clarity + * (rematStr): commented out as now unused + * (regTypeNum): commented out special spill case (overwrites + arbitrary values) + * fixes bugs #1229346, #1216476 (both arrays) and #1115667 (SIGSEGV) + +2005-06-30 Maarten Brock + + * doc/sdccman.lyx: documented sfr16/sfr32, + added example for using storage class with function pointers + * src/mcs51/gen.c (genPlusIncr): optimized small offsets from dptr + +2005-06-28 Maarten Brock + + * device/lib/_gptrget.c: also push/pop _PSBANK, added # to 0x03 + * device/lib/_itoa.c, + * device/lib/_ltoa.c: optimized codesize + * src/SDCCsymt.c (checkSClass): added sanity check for sfr at addresses, + but don't know how to suppress the double warning. + * src/mcs51/gen.c (genPlusIncr): fixed bug when incrementing volatile int's + * support/Util/SDCCerr.c, + * support/Util/SDCCerr.h: added warning W_SFR_ABSRANGE for sanity check + +2005-06-27 Maarten Brock + + * as/mcs51/asexpr.c (expr): disabled warning "not in .flat24 mode", + fixed old K&R prototypes + * as/mcs51/asout.c (outrb): always output as if generating 24bit addresses + * device/lib/_gptrget.c, + * device/lib/_gptrgetc.c, + * device/lib/_gptrput.c: changed versions for new memory indicator values, + also new versions for small generic pointers and banked generic pointers + * src/port.h: added const_name + * src/SDCC.lex: added keywords sfr16, __sfr16, sfr32, __sfr32 + * src/SDCC.y: added tokens SFR16, SFR32 and their sfr_attributes + * src/SDCCcse.c (findPrevIc): check all associative operators + * src/SDCCglue.c (emitMaps): use CONST_NAME if defined + * src/SDCCicode.h: added macro IS_ASSOCIATIVE + * src/SDCCmem.c: updated comments, + set far-space to 0 for pdata, results in optimized code + * src/SDCCmem.h: added macro CONST_NAME + * src/SDCCsymt.h: renumerated generic pointer types GPTYPE_... thereby + moving the info into the highest bits, see also gptrget/gptrput + * src/src.dsp: added sdcc.ico to project files + * src/avr/gen.c (genCast): fixed bug 0x%d + * src/avr/main.c (avr_port): added "CONST (CODE)" for const_name + * src/ds390/gen.c (aopForRemat, adjustArithmeticResult): disconnected direct + relation between ptr_type and DCL_TYPE, + (genCast): fixed bug 0x%d + * src/ds390/main.c (ds390_port, tininative_port, ds400_port): added "CONST + (CODE)" for const_name + * src/hc08/gen.c (genCast): fixed bug 0x%d + * src/hc08/main.c (_hc08_genAssemblerPreamble): added .area ...const_name, + (hc08_port): added "CONST (CODE)" for const_name + * src/mcs51/gen.c (aopForSym): optimized pushing ACC, + (aopForRemat, adjustArithmeticResult): disconnected direct relation + between ptr_type and DCL_TYPE, + (aopGetUsesAcc, aopGet, aopPut): changed first parameter from asmop* to + operand* and took AOP() inside function so sfr-ness can be checked, + (all over): repaired calls to aopGetUsesAcc, aopGet, aopPut to comply with + new prototype, + (genFunction, genEndFunction): optimized stack setup, + (genMinus): optimized for literals with ending zeroes (in bytes), + (genCast): fixed bug 0x%d + * src/mcs51/main.c (_mcs51_keywords): added sfr16 and sfr32, + (mcs51_port): added "CONST (CODE)" for const_name + * src/mcs51/peeph.def: made rule 226 more generic + * src/pic/main.c (pic_port): added "CONST (CODE)" for const_name + * src/pic16/main.c (pic16_port): added "CONST (CODE)" for const_name + * src/xa51/main.c (xa51_port): added "CONST (CODE)" for const_name + * src/z80/main.c (z80_port): added NULL for const_name, + (gbz80_port): added NULL for const_name + * support/regression/tests/bug663539.c, + * support/regression/tests/sfr16.c: new tests + +2005-06-25 Jesus Calvino-Fraga + + * device/include/mcs51/p89v51rd2.h, device/include/mcs51/at89s53.h: added. + +2005-06-24 Raphael Neider + + * device/lib/pic16/libdev/pic18f[68][567]20.c: + corrected typos... + * device/include/pic16/signal.h: added USBIF + and SIG_USB + +2005-06-24 Raphael Neider + + * device/lib/pic16/libdev/pic18f2455.c, + device/include/pic16/pic18f2455.h: NEW + * device/include/pic16/pic18fregs.h, + device/lib/pic16/pics.all, + src/pic16/device.c: added 18f2455 + * device/lib/pic16/libdev/pic18f[68][567]20.c, + device/include/pic16/{pic18f[68][567].h,usart.h}: + replaced MULTIPLE_USARTS define with more relaible + compatibility sfrs (for USART access) + +2005-06-20 Slade Rich + + * src/pic/pcode.c : Fixed problem when a string constant contains a "\r\n" + and the output asm file line is printed on two lines. + +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 @@ -19,14 +272,14 @@ 2005-05-17 Raphael Neider - * device/include/pic18f{2550,4331,4455,4520}.h: NEW + * 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 (genAddit): fixed bug 1202480 + * src/pic16/genarith.c (genAddLit): fixed bug 1202480 * src/pic16/pcode.{c,h} (pic16_newpCodeOpBit_simple): NEW convenience function for bit access