X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=ChangeLog;h=89deffd7aa4fabc49be701d1d0d80512d804781e;hb=195ee3f3ee25ce2c5f2a59fbd2779c4cb80527c3;hp=5f503a63b48e1188b0e5dbb5494e9d233319e4ae;hpb=92777a99c7549821c8524386d6a8e5ad67db940b;p=fw%2Fsdcc diff --git a/ChangeLog b/ChangeLog index 5f503a63..89deffd7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,262 @@ +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, + sim/ucsim/s51.src/Makefile.in, sim/ucsim/avr.src/Makefile.in, + sim/ucsim/z80.src/Makefile.in, sim/ucsim/hc08.src/Makefile.in, + sim/ucsim/xa.src/Makefile.in: install -s changed to 2 steps: + install and strip, since the strip at /usr/ccs/bin should be used + on solaris + +2005-08-24 Borut Razem + + * clean.mk, device/lib/clean.mk: find on sparc-solaris does not support -maxdepth option + +2005-08-23 Bernhard Held + + * src/SDCCopt.c (convertToFcall): fixed modulus with divisors 1 and + ffffffffu + +2005-08-23 Maarten Brock + + * as/mcs51/aslink.h: completed lkrloc.c prototypes + * as/mcs51/lkmain.c (link_main): fixed warning + * device/include/stdbool.h: ds390 has no advanced bit support yet + * src/SDCC.y: use SPEC_SHORT and renamed _signed to b_signed + * src/SDCCsymt.c: use SPEC_SHORT and renamed _signed to b_signed + * src/SDCCsymt.h (struct specifier): renamed _xxx bitfields to b_xxx + and updated their macros + * src/SDCCval.c (constVal): updated comment for renamed b_long + +2005-08-22 Maarten Brock + + * as/mcs51/asdata.c: changed ctype['['] to BINOP + * as/mcs51/asexpr.c (expr): added case '[' for bit access in bdata, + (term): abused bit 15 of s_addr to indicate bit-addressable bytes, + (oprio): set priority for '[' + * as/mcs51/aslink.h: added define R_BIT, and prototypes for adb_bit + and adb_24_bit + * as/mcs51/asm.h: added defines R_BIT and S_BIT + * as/mcs51/lkarea.c (lnksect2): use T for seg BIT_BANK and overlay it + * as/mcs51/lkdata.c: changed ctype['['] to BINOP + * as/mcs51/lkmain.c (Areas51): rel2 contains 12 (=C) areas now, + added overlayable BIT_BANK area + * as/mcs51/lkmem.c (summary): add BIT_BANK to BSEG_BYTES in the report, + (summary2): explain 'T' in legenda + * as/mcs51/lkrloc.c: replaced old K&R style, + (relr): added R_BIT processing, + (errmsg): added "Bit-addressable relocation error", + (adb_bit): added for converting from byte- to bit-addressable space, + (adb_24_bit): added for converting from byte- to bit-addressable space + * device/include/stdbool.h: changed BOOL to __bit for mcs51 as it can be + used in reentrant functions now even as return value + * device/lib/_gptrput.c (_gptrput): removed obsolete code + * src/SDCCast.c (resultTypePropagate): also propagate AND_OP and OR_OP, + (decorateType): case '!', GETHBIT, AND_OP, OR_OP: result in bool or char + * src/SDCCglobl.h: added indicator BitBankUsed + * src/SDCCglue.c (glue): emit area BIT_BANK with byte 'bits' and equ's for + the bit registers b0-b7 + * src/SDCCicode.c (operandFromSymbol): removed IS_BITVAR check, + (geniCodeCast): fixed bug 1263853, + (geniCodeLogicAndOr): put result in bool or char, + (geniCodeReceive): added parameter func for accessing the return type, + (geniCodeFunctionBody): pass func to geniCodeReceive + * src/SDCCmain.c: added indicator BitBankUsed + * src/SDCCmem.c (allocLocal): explicitly set sclass for V_BIT + * src/SDCCsymt.c (newBoolLink): added for creating a bool/bit, + (checkSClass): don't put automatic bool/bit on stack, + (checkFunction): removed check on function cannot return bit + * src/SDCCsymt.h: added newBoolLink prototype + * src/mcs51/gen.c (rb1regs): added bit registers, + (movc): created for assigning to carry, + (pushReg, popReg): created for pushing registers, + (sameRegs): check both AOP_REG and AOP_CRY types, + (aopOp): handle bit registers, + (aopPut): optimization no self-assign, + (saveRegisters): push reg->base (bits) only once for bit registers, + and use pushReg, + (unsaveRegisters): pop reg->base only once and use popReg, + (assignResultValue): added parameter func and return in carry for bits, + (genIpush): optimization no reload in A if not changed, + (genSend): bit parameters in reentrant functions are passed in bit + registers by first assigning to bits in B, then save registers and + copy B to bits, + (genCall): handle returning in Carry properly, save it in F0 if needed, + (genPcall): updated assignResultValue call, this is not safe yet for bit + returning function !!! + (genFunction): don't generate equ's for bit registers and use pushReg, + (genEndFunction): take care of bit returning functions and use popReg, + (genRet): return bit in Carry, + (genIfx): optimize bit registers and other directly addressable bits, + (genReceive): updated assignResultValue call + * src/mcs51/main.c (_mcs51_reset_regparm): added regBitParmFlg, + (_mcs51_regparm): allow passing of upto 8 bit parameters in bit + registers when using stack-auto + * src/mcs51/ralloc.c (_G): added allBitregs, + (regs8051): added the bit registers, + (createStackSpil): use macro IS_BIT, + (getRegBit): added to allocate a bit register, else spill, + (getRegBitNoSpil): added to allocate a bit register, else a gpr, + (updateRegUsage): factored out to ease stepping while debugging, + (serialRegAssign): use updateRegUsage, only spill bits if necessary, + also allocate bit registers, + (fillGaps): handle bit registers, + (findAllBitregs): added to create bit vector with all bit registers, + (mcs51_allBitregs): returns this bit vector, + (mcs51_assignRegisters): when using stack-auto use bit registers for + passing parameters and creating local variables + * src/mcs51/ralloc.h: added B0_IDX..B7_IDX and prototype mcs51_allBitregs + +2005-08-22 Borut Razem + + * device/lib/Makefile.in: replaced find option -or with -o + to make it run on solaris + +2005-08-22 Raphael Neider + + * src/pic16/gen.c (pic16_loadFromReturn): added check for AOP_PCODE, + fixes #1265442 (crash on Solaris) + +2005-08-20 Borut Razem + + * configure, configure.in: added tests for libsocket and libnsl libraries, + requred by sdcdb on sparc-solaris; generate support/regression/Makefile + from support/regression/Makefile.in + * support/regression/Makefile.in: added + * device/lib/pic16/Makefile.common.in: force make to use bash shell + * sim/ucsim/libtool: regenerated on sparc-solaris + * sim/ucsim/avr.src/Makefile.in, sim/ucsim/hc08.src/Makefile.in, + sim/ucsim/s51.src/Makefile.in, sim/ucsim/xa.src/Makefile.in, + sim/ucsim/z80.src/Makefile.in: removed GNU ld specific linker options + -Wl,--start-group and -Wl,--end-group to enable ucsim compilation on + sparc-solaris, which doesn't use GNU ld linker + * device/lib/Makefile.in: cp on sparc-solaris (SunOS) does not support -u option + * as/Makefile: find on sparc-solaris does not support -maxdepth option + +2005-08-19 Maarten Brock + + * src/mcs51/peeph.def: updated comments + +2005-08-16 Frieder Ferlemann + + * device/lib/_gptrget.c, + * device/lib/_gptrput.c: slightly shorter + * doc/sdccman.lyx: incremented version + * src/mcs51/peeph.def: moved peephole comments to the line of first + change to better keep line correlation, reanimated 186.e + * src/mcs51/peeph.def: renamed similar peepholes by using suffixes + +2005-08-16 Slade Rich + + * src/pic/pcode.c : Pasted ".line" assembly directives patch from + David Saxton with quotes around file name. + +2005-08-15 Borut Razem + + * support/regression/tests/bitfields.c, support/regression/tests/bitvars.c, + support/regression/tests/bitwise.c, support/regression/tests/literalop.c, + support/regression/tests/rotate.c, support/regression/tests/zeropad.c: + make tests run on x86_64 platform + 2005-08-13 Raphael Neider * device/lib/pic16/Makefile.subdir: weakened clean-intermediate rule @@ -18,7 +277,7 @@ * device/lib/pic16/libdev/Makefile: recursive make via + and $(MAKE) * device/lib/pic16/libio/Makefile: create sub-make's builddir early, prevents mkdir -p from aborting on Alpha - + 2005-08-12 Raphael Neider * src/pic16/glue.c (pic16_print(G)PointerType): do not flush