X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=ChangeLog;h=2c55b61731dfcf59a34077ecb480cd754c88833e;hb=0ddac837e50a0bcf1e3ddf35542eb65a8c158020;hp=ccecb0a3904c7b1445dd420c061430837ead018c;hpb=ec219ac8c8d7d91ba55c15a3ed5238648635b90f;p=fw%2Fsdcc diff --git a/ChangeLog b/ChangeLog index ccecb0a3..2c55b617 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,238 @@ +2005-10-25 Bernhard Held + + * src/SDCCast.c (addCast): added promotion for bit variables + (decorateType): emit W_COMPLEMENT before the problem vanishes behind + promotion casts + optimisation + (optimizeGetWord): fix warning 'i' might be used uninitialized + * src/mcs51/gen.c (genCpl): removed W_COMPLEMENT + * src/ds390/gen.c (genCpl): removed W_COMPLEMENT + +2005-10-24 Bernhard Held + + * src/SDCCicode.c (ast2iCode): reverted to 1.224 because of regression: + all chars are promoted to int; promotion should be handled in SDCCast.c + +2005-10-15 Jesus Calvino-Fraga + + * device/lib/_strcmp.c: Fixed bug 1326457 + +2005-10-11 Raphael Neider + + * device/lib/pic16/libio/i2c.ignore: added 1320, fixes broken builds + * device/lib/pic16/libdev/pic18f1320.c: added 1320's device library + +2005-10-05 Maarten Brock + + * src/SDCC.y (AT): fixed bug with sfr32 addresses when built with GCC + * support/regression/tests/sfr16.c: added test for the sfr32 bug + +2005-10-04 Raphael Neider + + * device/include/pic16/pic18fregs.h, src/pic16/devices.inc, + device/lib/pic16/pics.all: added pic18f1320 + * src/pic16/pcode.c (mnem2key): fixed prototype's argument mismatch + +2005-09-30 Raphael Neider + + * src/pic16/device.c (Pics16[]): moved device descriptions to devices.inc + * src/pic16/devices.inc: NEW, provides device descriptions + * src/pic16/gen.c (genInline): fixed handling of ';'-comments + +2005-09-26 Maarten Brock + + * src/SDCCicode.c (operandOperation): added GETABIT, GETBYTE, GETWORD and + GETHBIT + +2005-09-25 Maarten Brock + + * doc/sdccman.lyx: updated Highest Order Bit documentation, + documented Any Order Bit, Higher Order Byte and Higher Order Word + * src/SDCC.y: added tokens GETABIT, GETBYTE, GETWORD + * src/SDCCast.c (optimizeGetHbit): updated to also accept bool=expr&(1<>(8*n), + (optimizeGetWord): new, to get a word from a long int: expr>>(8*n), + (isConformingBody): also check GETABIT, GETBYTE, GETWORD, + (decorateType): '&': also try GETABIT, GETBYTE, GETWORD optimization, + RIGHT_OP: also try GETBYTE, GETWORD optimization, + GETABIT, GETBYTE, GETWORD: decorate them, + (isShiftRightLitVal, isBitAndPowOf2): new helper functions, + (ast_print): added GETABIT, GETBYTE, GETWORD + * src/SDCCcse.c (isSignedOp): added GETABIT, GETBYTE, GETWORD + * src/SDCCicode.c (codeTable): added GETABIT, GETBYTE, GETWORD, + (geniCodeBinary): new generic binary icode, + (ast2iCode): added GETABIT, GETBYTE, GETWORD + * src/port.h: updated comment for PORT.hasExtBitOp + * src/mcs51/gen.c (genGetAbit): new, to get any single bit, + (genGetByte): new, to get a single byte, + (genGetWord): new, to get a word from a long, + (gen51Code): added GETABIT, GETBYTE, GETWORD + * src/mcs51/main.c (hasExtBitOp): added GETABIT, GETBYTE, GETWORD + +2005-09-23 Raphael Neider + + * configure.in, configure: have device/lib/pic configured + * device/lib/Makefile.in: added model-pic14 + * device/lib/clean.mk: added pic/ to clean rule + * device/lib/pic: added rudimentary pic14 library providing support + functions for multiplication/division/generic pointer access + * src/SDCCopt.c (convilong): mark support functions as extern + for pic14 port as well + * src/pic/gen.c (genMult): added assertions, + (genpic14Code): emit warning on unhandled iCodes + * src/pic/main.c (_hasNativeMulFor): return true only for 8x8 bit + * src/pic/pcode.c (pCodeOpCopy), + * src/pic16/pcodepeep.c (pic16_pCodeOpCopy): fixed handling of various + pCodeOpReg-subtypes (PO_{STATUS,INTCON,PCL,PCLATH,PCLATU,BSR, + SFR_REGISTER}), made safe for future extensions + * src/pic16/pcode.c (pic16_safepCodeUnlink): allow for removal of + instructions even if preceeded by SKIP instructions (also remove + them); removed unused code + * src/pic16/pcode.h: added arg2 to pCodeOpLit to match pCodeOpLit2, + prevents leaving parts of the structure uninitialized after copying + +2005-09-22 Maarten Brock + + * src/mcs51/gen.c (genMinus): fix for undetected bug introduced 3 months + ago by me + * support/regression/tests/addsub.c: added test for the bug + +2005-09-21 Raphael Neider + + * device/include/pic16/pic18f1220.h, + device/lib/pic16/libdev/pic18f1220.c: added ECCPAS sfr and bitfield + * device/lib/pic16/Makefile.rules: added missing opening paren + * src/pic16/gen.c (pic16_genNot,pic16_genCpl): removed as these + are provided in genutils.c, + (genUminusFloat,genUminus,genCmpEq): added asserts on different + operand/result sizes, + (genCmp): assert on NULL pointers first, then check deref'ed values + * src/pic16/genutils.c (pic16_genCpl): fixed for different operand/ + result size + +2005-09-18 Raphael Neider + + * src/pic16/gen.c (genFarPointerGet,genFarPointerSet): removed + as these are now unused, + (genPointerGet,genPointerSet): handle FPOINTERs like POINTERs + * src/pic16/pcode.c (pic16_symIsSpecial): assume REG_TMPs to be + local, avoids uninitialized pointer dereference on r->name + * src/pic16/ralloc.c (newReg): fixed indentation + +2005-09-13 Maarten Brock + + * src/SDCCval.c (constVal): fixed bug 730366 + * support/Util/SDCCerr.c, + * support/Util/SDCCerr.h: added warning W_INVALID_INT_CONST + +2005-09-10 Maarten Brock + + * as/mcs51/lkmem.c (summary2): fixed report for absolute areas (bug 1210220) + +2005-09-09 Maarten Brock + + * src/mcs51/peeph.def (241.x): fixed bug when comparing generic pointers + +2005-09-08 Maarten Brock + + * as/hc08/lkaomf51.c (OutputName): made name unsigned char, + (hex2dec): made hex_digit unsigned char, removed ascii dependance + * as/mcs51/lkaomf51.c (OutputName): made name unsigned char, + (hex2dec): made hex_digit unsigned char, removed ascii dependance + * as/mcs51/lkarea.c (lnkarea2): sort absolute areas to the front + * packihx/packihx.c (hexDigit): made c unsigned char + * as/mcs51/lklibr.c (fndsym), + * link/z80/lkgb.c (gb), + * link/z80/lklibr.c (fndsym), + * link/z80/lkrloc.c (relr), + * sim/ucsim/libltdl/ltdl.c (load_deplibs, try_dlopen), + * src/SDCC.lex (checkCurrFile, process_pragma), + * src/SDCCglue.c (spacesToUnderscores), + * src/SDCCmain.c (setParseWithComma, processFile), + * src/asm.c (tvsprintf, printCLine), + * src/avr/gen.c (emitcode, aopPut), + * src/ds390/gen.c (emitcode), + * src/hc08/gen.c (emitcode, emitinline), + * src/mcs51/gen.c (emitcode, genInline), + * src/pic/pcodepeep.c (cvt_extract_destination, cvt_extract_status, + tokenizeLineNode), + * src/pic/ralloc.c (debugLog), + * src/pic16/pcodepeep.c (cvt_extract_destination, cvt_extract_status, + tokenizeLineNode), + * src/pic16/ralloc.c (debugLog), + * src/z80/main.c (_process_pragma): + made all ctype.h function calls safe + * src/SDCCopt.c: include math.h for fabs + * src/SDCCpeeph.c: added macros ISCHARDIGIT, ISCHARSPACE and ISCHARALNUM + and used them throughout the code to make ctype.h function calls safe + * src/ds390/main.c (asmLineNodeFromLineNode), + * src/mcs51/main.c (asmLineNodeFromLineNode): made p unsigned char* + * src/pic/gen.c (DEBUGpic14_emitcode, pic14_emitcode): made lbp + unsigned char* + * src/pic/pcode.c (mnem2key): made mnem unsigned char*, + (newpCodeAsmDir): made ctype.h function calls safe + * src/pic16/gen.c (pic16_emitpcomment, DEBUGpic16_emitcode, + pic16_emitcode): made lbp unsigned char* + * src/pic16/pcode.c (mnem2key): made mnem unsigned char*, + (pic16_newpCodeAsmDir): made ctype.h function calls safe + * src/xa51/gen.c (emitcode), + * src/z80/gen.c (_emit2): made lbp unsigned char* + * support/Util/MySystem.c (split_command): made cmd_line and p unsigned + char* + +2005-09-05 Raphael Neider + + * src/pic16/ralloc.c (pic16_allocDirReg): use device specific + access bank splitpoint + +2005-09-05 Raphael Neider + + * device/lib/pic16/libc/Makefile: added (missing) string to SUBDIRS + +2005-09-03 Maarten Brock + + * .version: changed to version 2.5.3 + * doc/sdccman.lyx: changed version to 2.5.3, + documented --codeseg and --constseg and pragma codeseg and constseg, + documented bit parameters (reentrant) and bit returning + * src/SDCCicode.c (geniCodeReceive): fixed (possible) bug generating + currFunc->recvSize, but is this ok for all ports? + (ast2iCode): result of ~ on unsigned char must be cast to int for + bool to work + * src/SDCCmem.c (allocGlobal, allocLocal): don't put bit returning + function pointers in bit space + * src/SDCCsymt.c (checkSClass): allow bit returning function pointers, + (processFuncArgs): call port.reg_parm() with reentrancy info + * src/port.h, + * src/avr/main.c, + * src/ds390/main.c, + * src/hc08/main.c, + * src/pic/main.c, + * src/pic16/main.c, + * src/xa51/main.c, + * src/z80/main.c: port.reg_parm prototype extended with + "bool reentrant" parameter + * src/mcs51/main.c (_mcs51_regparm): use parameter reentrant instead of + options.stackAuto for allocating bit register parameters + * src/mcs51/gen.c (genNot): optimized complementing direct bit, + (genSend): set BitBankUsed if it is, + (selectRegBank): factored out of genCall for use in genPcall, + (genCall): removed redundant dtype assignmen, use selectRegBank, + (genPcall): handle returning in Carry properly, save in F0 if needed, + (genReceive): handle bit register parameters + * src/mcs51/ralloc.c (updateRegUsage): update BitBankUsed along the way, + (mcs51_assignRegisters): enable bit registers for all reentrant + functions and don't set BitBankUsed unconditionally + * src/mcs51/peeph.def (177.d): fixed bug if %2==%3 + * support/regression/tests/bitvars.c: enable tests for SDCC_STACK_AUTO + * support/regression/tests/funptrs.c: added tests for BOOL and for return + +2005-08-27 Borut Razem + + * device/lib/Makefile.in: cp on sparc-solaris (SunOS) and on + ppc-osx (Darwin) does not support -u option. It seems that it is + supported only on Linux - GNU cp + 2005-08-25 Borut Razem * sim/ucsim/gui.src/serio.src/Makefile.in,