X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=ChangeLog;h=d467f9349afa561a6148ddbda87c5776bba8fd17;hb=67613b6eceb41c8a242c2556a0f59311adb0b388;hp=aafd0fa0763841b45fc4743f57e3ae423d57b101;hpb=04b03cced9b3363f5678ea2234a1e36d71386739;p=fw%2Fsdcc diff --git a/ChangeLog b/ChangeLog index aafd0fa0..d467f934 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,222 @@ +2004-03-06 Bernhard Held + + * sim/ucsim/configure.in, + * sim/ucsim/configure, + * sim/ucsim/doc/Makefile.in: use docdir + * src/SDCC.y: fixed sbit atrributes + * src/SDCCast.c (getResultTypeFromType): added support for bitfields + * src/SDCCast.c (decorateType): |^& need special promotion handling + * src/SDCCast.h, + * src/SDCCsymt.h: moved definition of RESULT_TYPE + * src/SDCCsymt.h (computeType), + * src/SDCCicode.c: computeType() needs op + * src/SDCCsymt.c (checkTypeSanity), + * doc/sddman.lyx: "plain" bitfields are unsigned + * src/SDCCsymt.c (computeTypeOr): added + * src/SDCCsymt.c (computeType): added support for bitfields, fixed + |^& ops + * src/SDCCval.c (val*): computeType() needs op + * src/SDCCval.c (valCastLiteral): fixed casting of bitfields + * support/regression/tests/onebyte.c: added tests for |^& + +2004-03-06 Hans Dorn + + * src/pic16/gen.c: (genpic16Code) use copy of printILine's output + for writing icode into asm output. + +2004-03-05 Vangelis Rokas + + * src/pic16/device.c: added some debug lines enabled + with macro DEBUG_CHECK, + * src/pic16/genarith.c: more debug in genPlus, + * (pic16_genUMult8XLit_16, pic16_genUMult8X8_16): removed, + * (pic16_genUMult16X16_16, pic16_genUMult16XLit_16): NEW, + * src/pic16/gen.c: added prototypes for pic16_genMult16X16_16, + * (aopForSym): onStack symbols are re-placed in data memspace, + and onStack flag is cleared, + * (pic16_popGetTempReg, pic16_popReleaseTempReg): modified to + copy temporary pcodeop, + * (genPcall): added warning for not updating PCLATU, + * (genFunction): removed test with IFFUNC_CALLEESAVES, its + always true for pic16 port, + * (genMultOneWord): NEW, supports integer multiplication, + * (genMult): modified to call genMultOneWord, + * (ifxForOp): added warning when return NULL, + * src/pic16/glue.c (pic16emitRegularMap): symbol implicit + flag is set before call to operandFromSymbol for implicit + added structures, + * src/pic16/main.c (_pic16_finaliseOptions): options.float_rent, + options.intlong_rent are set by default, + * (_hasNativeMulFor): modified to allow port generation of integer + multiplication, + * src/pic16/ralloc.c (pic16_allocDirReg): commented out line which + set regtype to REG_SFR for all registers, restricting seting the + accessBank flag for registers 0<= r < 0x80 and 0xf80<=r<=0xfff, + +2004-03-05 Frieder Ferlemann + + * src/mcs51/peephole.def: added 251.b and 253.x. 253.x are applied + more than 500 times in the regression tests + +2004-03-05 Erik Petrich + + * support/Util/SDCCerr.h, + * support/Util/SDCCerr.c, + * src/SDCC.y (struct_or_union_specifier, enum_specifier, + enumerator_list), + * src/SDCCsymt.c (addSymChain): show location of oriignal definition + for symbol conflicts. + * support/valdiags/tests/enum.c, + * support/valdiags/tests/tentdecl.c, + * support/valdiags/tests/struct.c: expect possible error messages + referring to original symbol definitions. + * src/SDCC.y (struct_or_union_specifier, struct_declarator), + * src/SDCCsymt.h, + * src/SDCCsymt.c (promoteAnonStructs): support anonymous struct/union + +2004-03-03 Hans Dorn + + * src/pic16/gen.c (gencjne): fixed for right=REG / left=LIT + +2004-02-03 Vangelis Rokas + + * src/pic16/ralloc.c (newReg): fixed bug #908929 + +2004-03-02 Erik Petrich + + * src/ds390/gen.c: added missing #include "main.h" + +2004-03-02 Vangelis Rokas + + * src/pic16/device.c (checkAddSym): NEW, adds a symbol to set while + checking if symbol is already in set, + * src/pic16/device.h: prototype for checkAddSym, + * src/pic16/gen.c: (_G): added entry interruptvector, + * (assignResultValue): removed some commented out lines, + * (genFunction): check for ISR via sym->type, absolute section for + interrupt code is created via a new pBlock, the goto instruction is + placed now correctly at the interrupt vector position, changed all + references from ivec to _G.interruptvector, + * WREG,STATUS,BSR are not saved in stack upon an entry to interrupt + is the interrupt is a high priority one, same for return from ISR, + * src/pic16/glue.c: changed all calls of addSetHead for publics and + externs to calls of checkAddSym, + * src/pic16/pcode.c (pic16_pBlockConvert2*): emit warning when + pic16_pcode_verbose flag is set, + * src/pic16/pcode.h: extern to pic16_pcode_verbose, + * src/pic16/pcoderegs.c: message about how many registers are saved + will only be emitted if pic16_pcode_verbose flag is set, + +2004-03-02 Erik Petrich + + * src/ds390/ralloc.h, + * src/ds390/ralloc.c (ds390_regWithIdx), + * src/ds390/gen.c (emitcode), + * src/ds390/main.h, + * src/ds390/main.c (instructionSize, ds390newAsmLineNode, updateOpRW, + ds390opcodeCompare, asmLineNodeFromLineNode, getInstructionSize, + ds390operandCompare, getRegsRead, getRegsWritten, + initializeAsmLineNode): customized instruction size calculation for + ds390, started basis for some register optimizations + * src/ds390/gen.c (gen390Code, emitcode): associate iCodes with + corresponding assembly output + * src/ds390/gen.c (genFunction, genEndFunction): added case to handle + missing push/pop of r0/r1. Optimized push/pops + +2004-03-01 Erik Petrich + + * src/mcs51/main.c (instructionSize): fixed ACALL size + * src/mcs51/main.c (updateOpRW): fixed bug with @dptr, @a+dptr operands + +2004-03-01 Vangelis Rokas + + * src/pic16/device.c (pic16_dump_section): fixed a bug that allowed + the sorting of rlist with NULL elements + * (print_idataType, print_idata): NEW to create idata sections + * src/pic16/device.h: idataSymSet new variable + * src/pic16/gen.c (genFunction): fixed some bugs in string + comparing, improved the absolute section creation for ISRs, + added FSR0L/FSR0H in registers that are saved in an ISR, + * (genInline): fixed the processing of inline snippets, + now they undergo no process by the peephole optimizer + * src/pic16/glue.c (pic16emitRegularMap): symbols with initialiser + are placed in idataSymSet, + * (pic16emitStaticSeg): extern symbols are added in externs, + * src/pic16/ralloc.c (pic16_allocDirReg): work around to reduce bank + switching when aboslute variables are placed in access bank memory + * (pic16_writeUsedRegs): added call to pic16_dump_idata, + * (packRegsForSupport,packRegsForAccUse,packRegsForOneuse): + commented out with #if, + * (pic16_packRegisters): reintroduce the check for CAST because some + symbols are not correctly handled, + * src/pic16/pcode.h: changed the definition of pCodeAsmDir to hold a + pCodeInstruction instead of pCode, + * src/pic16/pcode.c (pic16_newpCodeAsmDir): modified for the new + pCodeAsmDir definition, + * (pic16_pCode2str, genericPrint): when an AsmDir pcode has a NULL + directive, then the argument directive is emitted without the leading + tab, hack for inline labels which must be in the first column, + * (compareLabel,pic16_findNextInstruction), + * (pic16_findPrevInstruction): added case for PO_ASMDIR, + * (insertBankSwitch): modified for the new pCodeAsmDir, + +2004-03-01 Hans-Juergen Dorn + patch applied by Vangelis Rokas + + * src/pic16/gen.c (pic16_popGet): case PO_DIR, adds the offset to + instance, + * (pushSide): commented out with #if, + * (assignResultValue): fixed some typos in saving + registers, + * (genPcall): FIXED and sync'ed with genCall, + * (genDataPointerGet,genDataPointerSet): using offset not leoffset + * (genNearPointerGet): fixed to handle some more cases, + implementation scheme via table reads, + * (genConstPointerGet): modified to access code memory correct, + * (genCodePointerGet,genNearPointerSet,genGenPointerSet): modified + and improved to handle some cases + * glue.c (printIvalType,printIvalChar,emitStaticSeg): use "DB" + instead of "RETLW" for init data + * src/pic16/ralloc.c (pic16_allocDirReg): warning when a symbol is + not IN_DIRSPACE, work around to reduce bank switching when aboslute + variables are placed in access bank memory (<0x80 and >=0xf80), + * src/pic16/pcode.c: added SFRs TBLPTR, TABLAT, added opcodes TBLRD, + TBLRD_POSTINC,TBLRD_POSTDEC,TBLRD_PREINC,TBLWT,TBLWT_POSTINC, + TBLWT_POSTDEC,TBLWT_PREINC + * Fixed initialisation of BSR, set "alias" for SSAVE to "0" + * (pic16_emitDB,pic16_flushDB): New functions to generate "DB" + directives + * (pic16_pCodeConstString): use "DB" instead of "RETLW" + * src/pic16/pcode.h: added TBLRD*,TBLWT*, added pic16_emitDB, + pic16_flushDB, made pic16_newpCodeAsmDir public, added TBLPTR, TABLAT + * src/pic16/ralloc.h: added IDX_BSR,IDX_TBLPTR*,IDX_TABLAT + +2004-02-29 Borut Razem + + * src/Makefile.in, src/SDCCutil.c, support/Util/findme.c, + support/Util/findme.h, support/Util/system.h: enhance binary relative + search for lib and include by using findProgramPath() + +2004-02-28 Erik Petrich + + * src/SDCCpeeph.h, + * src/SDCCpeeph.c (pcDistance), + * src/port.h, + * src/mcs51/ralloc.h, + * src/mcs51/ralloc.c (mcs51_regWithIdx), + * src/mcs51/main.h, + * src/mcs51/main.c (instructionSize, asmLineNode, updateOpRW, + mcs51opcodeCompare, asmLineNodeFromLineNode, getInstructionSize, + mcs51operandCompare, getRegsRead, getRegsWritten): made instruction + size calculation port specific, started basis for some register + optimizations + * src/mcs51/gen.c (genFunction, genEndFunction): added case to handle + missing push/pop of r0/r1. Optimized push/pops + * src/mcs51/ralloc.c (packregisters): fixed bug #727095 + * device/lib/_modsint.c (_modsint), + * device/lib/_modslong.c (_modslong): fixed sign of result in non-asm + and stack version so regression tests pass + 2004-02-26 Bernhard Held * src/Makefile.in (dep): include SLIBOBJS in dependency check