X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=ChangeLog;h=d467f9349afa561a6148ddbda87c5776bba8fd17;hb=67613b6eceb41c8a242c2556a0f59311adb0b388;hp=cc806f63b10cb2af285ec268f100ba0ce1d97f7e;hpb=6dc2cb6fce003335edff6130cf55ef6190ba787c;p=fw%2Fsdcc diff --git a/ChangeLog b/ChangeLog index cc806f63..d467f934 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,6 +1,635 @@ +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 + * src/SDCCast.c (decorateType): catch another small optimization + with '?' operator + * src/SDCCsymt.c (computeType): added comments and cosmetic changes + * src/SDCCval.c (valMult, valDiv, valMod, valPlus, valMinus, valShift): + modified to finally use computeType() all over SDCC, + see Feature Request #877103 + * src/SDCCval.h: cosmetic + * src/SDCCicode.c (operandOperation): fixed EQ_OP bug, now same as in + valCompare(); regression tested in muldiv.c + * support/regression/tests/muldiv.c (testMod): mod sign follows + dividend only + +2004-02-23 Bernhard Held + + * src/SDCCast.c (decorateType): fixed bug #902362 + * doc/INSTALL.txt: fixed install instructions for win32 + +2004-02-21 Bernhard Held + + * device/include/Makefile.in (install): fixed by replacing spaces + by tabs + * doc/README.txt, + * doc/INSTALL.txt: updated for release + * doc/sdccman.lyx: added warning for --xstack being buggy + +2004-02-20 Bernhard Held + + * src/pic16/ralloc.c (packRegsForAccUse): disabled functions with #if + to eliminate build warnings. + * src/pic16/gen.c (pic16_popGet): fixed for gcc 2.95.4 + +2004-02-20 Vangelis Rokas + Hans-Juergen Dorn + + * doc/sdccman.lyx: removed PIC16 from PIC16 Port Specific Options, + removed -penable-stack, added comment for stack pragma, added + warning for not initializing the stack/frame registers, removed + comment at interrupts section + + Stack is made permanent, there is no ability to disable stack usage. + * src/pic16/device.h, + * src/pic16/device.c: removed all references to USE_STACK macro, + * src/pic16/device.c (pic16_dump_section): when no elements in + rlist, free rlist before return, + * (pic16_dump_int_registers): NEW, internal registers are a new set + of general purpose registers reused by each function, + * (checkAddReg): returns 1 if registers is added to set, + * (pic16_groupRegistersInSection): when a registers is of type + PO_GPR_TEMP add it in pic16_int_regs and not in pic16_rel_udata, + * src/pic16/device.h: memRange and Assigned Memory are deleted, + SRCASECMP macro is moved here from device.c + * src/pic16/genarith.c (pic16_pCodeOpType): added cases for + PO_PCLATU, PO_PRODL, PO_PRODH, + * (pic16_pCodeOpType, genMinus, + changed compares to "a" register, with AOP_ACC, + * (pic16_genPlus): fixed some bugs and indented properly, + * (pic16_addSign): changed size to size+offset in the MOVWF + instruction, + * (pic16_genUMult8XLit_8): NEW, uses processor MULLW instruction to + multiply 8-bit operand by literal, result is 8-bit, + * (pic16_genUMult8X8_8): NEW, uses processor MULWF instruction to + multiply 2 8-bit operand, result is 8-bit, + * (pic16_genMult8X8_8): modified to call genUMult8X*_8 functions and not + genUMult8X*_16, + * src/pic16/gen.c: changed accUse to contain WREG only, + * (pic16_emitcomment): renamed to pic16_emitpcomment, + * (aopForSym): allocated dir register when IN_DIRSPACE(space) is, + true, do not use immediate addressing any more unless sym is a + pointer in codespace, + * (aopForRemat): do not use immediate addressing when symbol not in + codespace and when symbol's address is requested, + * (aopOp): for-loop in if(sym->accUse) is modified for the new + accUse size (= 1), + * (aopGet): added case for AOP_ACC and don't return "accumulator + bug" but WREG instead, + * (popGetTempReg): pushes contents of temporary register in stack, + * (popReleaseTempReg): pops contents of temporary register from + stack. Use popGetTempReg/popReleaseTempReg in aligned pairs, + * (pic16_popGet): separated case AOP_ACC to return register WREG + from processor registers, AOP_PCODE not checks if pcop is PO_DIR + or PO_IMMEDIATE and initializes their instance/offset appropriately, + * The whole issue with aopForSym,aopForRemat,popGet) is to minimize + the use of immediate pointers to certain cases only. + + * (pic16_pushpCodeOpReg, pic16_poppCodeOpReg): use pic16_popGet2p, + * (pic16_loadFromReturn, pic16_storeForReturn: NEW, + * (assignResultValue, genCall, genRet): modified to use the new + function return value scheme with WREG,PRODL,PRODH,FSR0L and FSR0, + genPcall is still broken, + * (genFunction): added code to create 'A' type pBlocks when + interrupt functions are generated, code not extensively tested yet, + ISRs push WREG,STATUS,BSR,PRODL,PRODH,FSR0L,FSR0H registers on stack, + * (genEndFunction): modified so ISRs pop stored registers from stack, + * (genMultOneByte): cleanup, + * (AccRsh): added flag andmask, to and result with appropriate mask, + * (genUnpackBits,genPackBits): fixed and can handle bit fields, + * (genDataPointerGet): fixed and reenabled its use, + * (genNearDataPointerGet): bugs fixed, + * (genDataPointerSet): bugs fixed, + * src/pic16/genutils.c: added functions pic16_DumpValue,pic16_DumpAop, + pic16_DumpSymbol, pic16_DumpOp, + * src/pic16/genutils.h: function prototypes for the above functions, + * src/pic16/glue.c: new flags initsfpnt, to initialize stack/frame + pointers, + * (pic16emitRegularMap): many many many improvements, but needs a + major cleanup, + * src/pic16/main.c: enable_stack in pic16_options is removed, + * (_pic16_parseOptions): removed command line options -penable-stack, + * (_process_pragma): emit stack symbol only when stack pragma is + processed, + * src/pic16/pcode.c: pic16_pc_fsr0 is removed, all operations are + redirected to FSR0L/FSR0H pair, + * (pic16_get_op, pic16_get_op2): modifications and improvements, + * (pic16_getRegFromInstruction, pic16_getRegFromInstruction2): added + cases PO_PRODL,PO_PRODH, pic16_getRegFromInstruction2 returns sane + for immediates, + * (insertBankSwitch): modified to handle cases like: (alfa + 1) + * (dumpPicOptype): NEW, + * src/pic16/pcode.h: added PO_PCLATU,PO_PRODL,PO_PRODH in enum, + * src/pic16/pcoderegs.c (pCodeRegMapLiveRangesInFlow): fixed bug + with movff instruction, + * src/pic16/ralloc.c: renamed typeRegWithIdx to pic16_typeRegWithIdx, + added pic16_int_regs, some packRegsFor* functions are commented out, + because produce errors, + * src/pic16/NOTES: minor modifications + +2004-02-18 Jesus Calvino-Fraga + + * as/mcs51/aslink.h, as/mcs51/lkarea.c, as/mcs51/lkdata.c, as/mcs51/lkmain.c, + as/mcs51/lkmem.c, src/SDCCglob.h, src/SDCCmain.c: added options --stack-size and + --pack-iram. + * doc/sdccman.lyx: described options --stack-size and --pack-iram. + * as/mcs51/lkaomf51.c: fixed bug #895763 + +2004-02-17 Bernhard Held + + * device/include/c8051f320.h: added. Contributed by Maarten Brock. + +2004-02-17 Erik Petrich + + * doc/sdccman.lyx: added details about the HC08 storage classes and + interrupts, fixed the register usage info for z80 & gbz80 + +2004-02-17 Vangelis Rokas + + * doc/sdccman.lyx: added more pic16 port documentation + * device/include/pic16/: added header pic18fregs.h + +2004-02-16 Bernhard Held + + * doc/sdccman.lyx: added Vangelis' contribution + +2004-02-16 Erik Petrich + + * src/SDCClrange.c (rlivePoint): live range of SEND operand should + extend to the next CALL or PCALL, not just to the next CALL. + +2004-02-16 Vangelis Rokas + + * src/pic16/gen.c (genInline): fixed bug #896482 with inline assembly + +2004-02-15 Erik Petrich + + * src/mcs51/ralloc.c (packRegsForAssign, reassignAliasedSym): fixed + bug #895752 and a better fix for bug #716790 + +2004-02-15 Erik Petrich + + * src/SDCCsymt.c (processFuncArgs): fixed bug #896796 + +2004-02-14 Frieder Ferlemann + + * doc/sdccman.lyx: minor changes, minor changed + +2004-02-13 Bernhard Held + + * src/SDCCicode.c (usualBinaryConversions): removed pic16 from ports + which can't handle SDCC_NEWONEBYTEOPS, + (geniCodeMultiply): removed conversion from mult to shift for pic14 + and pic16 + +2004-02-12 Erik Petrich + + * src/hc08/gen.h, + * src/hc08/gen.c (storeRegToAop, aopOp, aopAdrStr, accopWithAop, + rmwWithAop): Ported my 2003-10-02 fix for bug #663539 to the hc08, + thus fixing bug #895406 + +2004-02-11 Bernhard Held + + * device/lib/_modsint.c, + * device/lib/_modslong.c: sign follows divisor only + * src/hc08/gen.c (genMultOneByte): if result size is 1, + signs or signedness can be ignored + * src/SDCCast.c (addCast): cosmetic - added lineno to CAST + * src/SDCCast.c (resultTypePropagate): added even more ops: +, - and *, + added optimization for IFX, + (decorateType): Mult/Div/ModOneByte ops can handle all kind of signed + arguments; + reenabled optimization for IFX, which was removed on 2004-01-11 + * src/SDCCast.h: added return type IFX + * src/SDCCicode.c: Mult/Div/ModOneByte ops can handle all kind of signed + arguments with 8 or 16 bit results; pic14 and pic16 ports use old + promotion behaviour; env. var. SDCC_NEWONEBYTEOPS selects the new, + SDCC_OLDONEBYTEOPS selects the old behaviour + * src/SDCCsymt.c (computeType): type2 can be NULL (for LEFT_OP); + changed again and commented promotion rule + * src/SDCCval.c (valDiv): promotion no longer necessary + * src/ds390/gen.c (genMultOneByte) (genDivOneByte) (genModOneByte), + * src/mcs51/gen.c (genMultOneByte) (genDivOneByte) (genModOneByte): + rewritten + * support/regression/tests/onebyte.c: added + +2004-02-11 Vangelis Rokas + + * gen.c (genInline): reverted to old code for assemnling inline + code because of bug reported James Chadd + +2004-02-10 Vangelis Rokas + + * ralloc.h: missing declarations from previous patch, + seems that patch for ralloc.h was never applied, fixed + +2004-02-10 Hans-Juergen Dorn + patch committed by Vangelis Rokas + + * pcode.c, + * pcode.h, + * ralloc.h: added FSR0L, FSR0H and other missing PIC16 SFR's for + indirect addressing. Marked FSR0 as deprecated + * gen.c (pointerCode): commented out, not needed now + (pic16_popGet2p): new MOVFF helper function + (genGenPointerGet), + (genGenPointerSet): reimplemented with MOVFF and POSTINC0 + (shiftRLong): removed duplicate debugging info + +2004-02-10 Erik Petrich + + * src/ds390/gen.c (genNearPointerGet), + * src/mcs51/gen.c (genNearPointerGet): allow the genDataPointerGet() + optimization with bits, but not bitfields. + * src/ds390/ralloc.c (packRegisters), + * src/mcs51/ralloc.c (packRegisters): fixed bug #884453 & #880832 + +2004-02-09 Bernhard Held + + * src/SDCCcse.c (algebraicOpts): copy operands before modification + +2004-02-09 Erik Petrich + + * src/SDCCsymt.h, + * src/SDCCicode.c (operandFromSymbol), + * src/mcs51/ralloc.c (verifyRegsAssigned, serialRegAssign), + * src/ds390/ralloc.c (verifyRegsAssigned, serialRegAssign), + * src/z80/ralloc.c (verifyRegsAssigned, serialRegAssign), + * src/hc08/ralloc.c (verifyRegsAssigned, serialRegAssign), + * src/pic/ralloc.c (verifyRegsAssigned, serialRegAssign), + * src/pic16/ralloc.c (verifyRegsAssigned, serialRegAssign): fixed + bug #892038 + * src/SDCCast.c (createIvalStruct, createIvalArray, gatherAutoInit), + * src/SDCCglue.c (emitRegularMap, printIvalStruct, printIvalArray, + printIvalCharPtr, printIvalPtr, printIval, emitStaticSeg, emitOverlay) + * src/SDCCsymt.c (newSymbol), + * src/SDCC.y (struct_or_union_specifier, enum_specifier, + enumerator_list), + * src/SDCCval.h, + * src/SDCCval.c (newiList): fixed bug #885705 + +2004-02-08 Jesus Calvino-Fraga + + * doc/sdccman.lyx: added section 3.1.4: sdcclib. + * as/mcs51/lkmem.c: report the size of the stack in .mem file. + +2004-02-08 Frieder Ferlemann + + * device/include/c8051f120.h, + * device/include/c8051f300.h, + * device/include/c8051f310.h: added/updated header files for Silicon + Laboratories (formerly Cygnal) CPUs. Contributed by Maarten Brock. + * doc/sdccman.lyx: minor changes, recommended diff -Naur and diff -u + in new section Submitting patches + +2004-02-08 Erik Petrich + + * src/mcs51/gen.c (genNearPointerGet, genPagedPointerGet, + genFarPointerGet, genCodePointerGet, genGenPointerGet, + genNearPointerSet, genPagedPointerSet, genFarPointerSet, + genGenPointerSet), + * src/ds390/gen.c (genNearPointerGet, genPagedPointerGet, + genFarPointerGet, genCodePointerGet, genGenPointerGet, + genNearPointerSet, genPagedPointerSet, genFarPointerSet, + genGenPointerSet), + * src/pic16/gen.c (genNearPointerGet, genPagedPointerGet, + genFarPointerGet, genCodePointerGet, genGenPointerGet, + genNearPointerSet, genPagedPointerSet, genFarPointerSet, + genGenPointerSet), + * src/pic/gen.c (genNearPointerGet, genPagedPointerGet, + genFarPointerGet, genCodePointerGet, genGenPointerGet, + genNearPointerSet, genPagedPointerSet, genFarPointerSet, + genGenPointerSet): fixed bug #892400 + * src/pic16/gen.c (genSkipz, AccRol): disabled functions with #if 0 + to eliminate build warnings. + * src/SDCCast.c (processParms), + * src/SDCC.y (function_declarator2, declarator2_function_attributes): + fixed bug 751859 + * support/valdiag/valdiag.py: added GCC to the list of defines active + when compiling with gcc + +2004-02-07 Erik Petrich + + * support/Util/SDCCerr.h, + * support/Util/SDCCerr.c, + * src/SDCCast.c (decorateType, sizeofOp): complain when sizeof is used + with an incomplete type (fixed bug #883734) + * src/SDCCicode.c (geniCodeCast): fixed bug #890510 + +2004-02-07 Erik Petrich + + * src/pic16/gen.c (genCmpEq, shiftRLong): fixed declarations + +2004-02-06 Erik Petrich + + * src/SDCCast.c (decorateType), + * src/SDCCicode.c (geniCodeParms, geniCodeCall): fixed bugs in my ANSI + function pointer implementation + * support/regression/tests/funptrs.c: added tests to verify both forms + of function pointers work correctly. Added tests to verify parameters + are passed in the correct order. + +2004-02-06 Vangelis Rokas + + * device.c (regCompare): registers are sorted by ascending + address and increasing size, + * main.c (_pic16_finaliseOptions): removed the declaration + of compiler macro MCU. Now a macro of the format pic18fxxxx + will be defined from the command line + +2004-02-06 Hans-Juergen Dorn + patch committed by Vangelis Rokas + + * pcode.c (pic16initMnemonics): fixed typo in assignment to PCOP_RLNCF + PCOP_RLCF was overwritten! + * gen.c (genSkip): commented out calls to pic16_emitcode, + * (genCmpEQ): fixed "long" compares, only high word did get compared, + * (genlshTwo), + * (genRRC): added debugging info, + * (shiftL2Left2Result): Fixed bug, if offr > offl. Result got + overwritten while shifting, + * (shiftR2Left2Result): Fixed bug, if offr < offl. Result got + overwritten while shifting, + * (AccLsh), + * (AccRsh), + * (shiftLLeftOrResult), + * (shiftRLeftOrResult), + * (shiftRLong), + * (shiftLLong): Implemented with pic16_emitpcode + * (genlshFour): Replaced pic16_aopPut with pic16_emitpcode, + * (genLeftShift): Fixed bug, operand for shift by variable always + was "and"ed with 0x0f, + * (genLeftShiftLiteral), + * (genrshTwo), + * (genRightShiftLiteral): added debugging info, + * (genrshFour): added comment, + * (genRightShift): determined signedness from operand "left" + instead of "result" + +2004-02-04 Erik Petrich + + * src/SDCCicode.c (geniCodeParms), + * src/SDCCast.c (decorateType, processParms): support for ANSI-style + function pointers, fixed function pointer bugs #861242 and #861896 + +2004-01-31 Frieder Ferlemann + + * device/include/c8051f000.h, + * device/include/c8051f120.h, + * device/include/c8051f300.h: added header files for Silicon + Laboratories (formerly Cygnal) CPUs. Contributed by Maarten Brock. + +2004-01-31 Bernhard Held + + * src/SDCCast.c (processParams): added new type flow and restructured + (gatherAutoInit): added new type flow + (addCast): cosmetic changes + (getLeftResultType): added new type flow for array indices, patch + provided by Stas, see FR #877103 + (decorateType): SDCC_NEWTYPEFLOW removed, new type flow is now standard; + array index patch by Stas + * src/SDCCast.h: added prototype getResultTypeFromType() + * src/SDCCval.h, + * src/SDCCval.c (resolveIvalSym) (resolveIvalSym), + * src/pic/glue.c (pic14emitStaticSeg), + * src/pic16/glue.c (pic16emitStaticSeg), + * src/SDCCglue.c (emitRegularMap) (emitStaticSeg): added new type flow + for initialization of symbols + * src/SDCCicode.c (geniCodeArray): removed warning W_ARRAY_BOUND + * support/Util/SDCCerr.h: + * support/Util/SDCCerr.c: replaced W_ARRAY_BOUND by W_IDX_OUT_OF_BOUNDS + * .version: bumped version number to 2.3.8 + * device/include/Makefile.in (install), + * doc/Makefile (install): changed to 'rm `find ...`' construct to + avoid warnings + 2004-01-30 Bernhard Held * support/regression/tests/libmullong.c: fixed for 64 bit hosts + Slade Rich fixed an optimization bug + * src/pic/pcodepeep.c, + * src/pic/pcoderegs.c + * doc/Makefile (install): added test for directory 2004-01-30 Erik Petrich