X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=ChangeLog;h=03d5dcfb4be5eec1bb64c3973ad0b6d28944df18;hb=f833cd818ea9013fd5de963f7844e4a05215b42d;hp=54f042f891ff78c8d34ab2d51f1e2c38f7a49335;hpb=6a66f4dc1432cba80cf14749ab6351db5de58d47;p=fw%2Fsdcc diff --git a/ChangeLog b/ChangeLog index 54f042f8..03d5dcfb 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,278 @@ +2004-05-14 Jesus Calvino-Fraga + + * as/mcs51/lkmem.c, as/mcs51/lkaomf51: fixed bug 954173 + +2004-05-14 Erik Petrich + + * src/SDCCsymt.h: added IS_AUTO(symbol) test macro + * src/SDCCopt.c (isLocalWithoutDef), + * src/SDCCicode.c (operandFromSymbol): use the IS_AUTO test macro + which adds a !IS_EXTERN codition. Fixes bugs #877426 and #751703. + (credit to Maarten Brock for patch #949363, on which this is based) + * support/regression/tests/bug-751703.c: some test cases of extern used + within inner scopes. + +2004-05-14 Erik Petrich + + * src/SDCCdwarf2.c (dwMatchTypes): structs must have matching + SPEC_STRUCT + * src/SDCCdwarf2.c (dwTagFromType): fix to handle recursive + struct definitions + * src/SDCCdwarf2.c (dwWriteModule, dwNewDebugSymbol, dwWriteEndFunction, + dwWriteLabel): fix to create valid debugger symbols even when + the module name has non-alphanumeric symbols in it + * src/SDCCdwarf2.c (dwWriteSymbolInternal): better detection for + when a variable's allocation has been optimized away + + +2004-05-13 Erik Petrich + + * src/hc08/gen.c (hc08_emitDebuggerSymbol), + * src/hc08/main.c, + * src/mcs51/gen.c (mcs51_emitDebuggerSymbol), + * src/mcs51/main.c, + * src/ds390/gen.c (ds390_emitDebuggerSymbol), + * src/ds390/main.c, + * src/z80/gen.c (z80_emitDebuggerSymbol), + * src/z80/main.c, + * src/pic/gen.c (pic14_emitDebuggerSymbol), + * src/pic/main.c, + * src/pic16/gen.c (pic14_emitDebuggerSymbol), + * src/pic16/main.c, + * src/avr/gen.c (avr_emitDebuggerSymbol), + * src/avr/main.c, + * src/xa51/gen.c (xa51_emitDebuggerSymbol), + * src/xa51/main.c, + * src/SDCCdebug.c (emitDebuggerSymbol), + * src/SDCCdebug.h, + * src/port.h: added a debugger struct to the port struct. Added a + callback for defining debugger symbols + + * src/SDCCast.c (createLabel), + * src/SDCC.y (labeled_statement): mark all compiler generated labels + with isitmp = 1 + * src/SDCCicode.h, + * src/SDCCicode.c (geniCodeFunctionBody): added a link from the FUNCTION + iCode back to the ast for the function + + * src/hc08/ralloc.c (hc08_assignRegisters), + * src/hc08/ralloc.h: define a regs struct for the stack pointer. Removed + unneeded fields from the regs struct. + * src/hc08/gen.c (transferRegReg, genFunction, genEndFunction): use the + pushReg() & pullReg() functions instead of emitcode() + + * src/hc08/gen.c (genLabel, genhc08Code), + * src/SDCCdebug.h: Added additional debugger hooks needed for DWARF + + * src/cdbFile.c (cdbWriteLabel, cdbWriteScope): Added stubs for unneeded + debugger hooks + + * src/hc08/gen.c (genEndFunction, genhc08Code), + * src/hc08/gen.h, + * src/mcs51/gen.c (genEndFunction, gen51Code), + * src/mcs51/gen.h, + * src/ds390/gen.c (genEndFunction, gen390Code), + * src/ds390/gen.h, + * src/z80/gen.c (genEndFunction, genZ80Code), + * src/z80/gen.h, + * src/z80/z80.h, + * src/pic/gen.c (genEndFunction, genpic14Code), + * src/pic/gen.h, + * src/pic16/gen.c (genEndFunction, genpic16Code), + * src/pic16/gen.h, + * src/avr/gen.c (genEndFunction, genAVRCode), + * src/avr/gen.h, + * src/xa51/gen.c (genEndFunction, genXA51Code), + * src/xa51/gen.h, + * src/cdbFile.c (cdbWriteFunction, cdbWriteEndFunction): moved cdb + specific code to cdbFile.c and out of the backend code generators + + * as/hc08/lkmain.c (main): removed OMF51 support from link-hc08 + * as/hc08/lkarea.c (lnkarea): areas with NOLOAD attribute default + starting address is now 0 + + * as/hc08/asm.h, + * as/hc08/m08pst.c, + * as/hc08/asmain.c (asmbl): implemented the .sleb128 and .uleb128 + assembler directive for DWARF support + * as/hc08/lkelf.c (elf): only increment address when rtflg[] set + + * src/src.dsp, + * src/Makefile.in, + * src/SDCCdwarf2.c: preliminary DWARF (ver 2) debugger data generator + +2004-05-04 Erik Petrich + + * src/hc08/gen.c (genJumpTab, emitcode, genhc08code): fixed stack error + and inappropriate peephole optimization in jump tables + +2004-04-30 Jesus Calvino-Fraga + + * as/hc08/m08pst.c, + * src/SDCCglue.c: sdccopt works for the hc08 port now + +2004-04-27 Bernhard Held + + * src/SDCCicode.c (geniCodePreInc, geniCodePreDec): fixed bug #942130 + +2004-04-27 Jesus Calvino-Fraga + + * as/hc08/lkelf.c: sdccconf.h is not available in WIN32 + +2004-04-24 Erik Petrich + + * src/SDCCpeeph.c (replaceRule): support empty replacement peephole + rules + * src/SDCCmain.c, + * src/SDCCglobl.h, + * src/SDCCpeeph.c (getPeepLine): new option --no-peep-comments omits + comments from the peephole optimizer replacement rules + * src/SDCCmem.c (printAllocInfoSeg): give actual location of spilled + symbols + * src/SDCCcse.c (updateSpillLocation), + * src/SDCCopt.c (killDeadCode, findReqv): better tracking of register + equivalents + * src/hc08/ralloc.c (regTypeNum): pseudo symbols must be in DATA only + * src/hc08/main.c (_hc08_finaliseOptions): made pointers to stack + objects far pointers + +2004-04-23 Erik Petrich + + * src/SDCCsymt.h: a missing part of my last change + * src/pic/ralloc.c (regTypeNum), + * src/pic16/ralloc.c (regTypeNum): fixed statement/declaration order + +2004-04-23 Erik Petrich + + * src/SDCCicode.h, + * src/SDCCicode.c (aggrToPtrDclType), + * src/SDCCptropt.h, + * src/SDCCptropt.c (ptrBaseRematSym, ptrPseudoSymSafe, + ptrPseudoSymConvert), + * src/pic/ralloc.c (regTypeNum), + * src/pic16/ralloc.c (regTypeNum), + * src/hc08/ralloc.c (regTypeNum), + * src/ds390/ralloc.c (regTypeNum), + * src/mcs51/ralloc.c (regTypeNum): check for dependancy hazards before + creating pseudo symbols (fixed bugs #777768, #930484, and #933966) + +2004-04-22 Erik Petrich + + * link/z80/lkmain.c (afile), + * as/hc08/lkmain.c (afile), + * as/mcs51/lkmain.c (afile): fix suggested by Maarten Brock to + prevent a pointer problem when a filename has no directory and + no extension specified. + +2004-04-21 Erik Petrich + + * link/z80/lkmain.c (afile): allow periods in directory names + * link/z80/lkmain.c (afile), + * as/mcs51/lkmain.c (afile), + * as/hc08/lkmain.c (afile): allow linker script file to have an + extension other than ".lnk" + * link/z80/lklex.c (getfid), + * link/z80/lkmain.c (parse), + * as/mcs51/lklex.c (getfid), + * as/mcs51/lkmain.c (parse), + * as/hc08/lklex.c (getfid), + * as/hc08/lkmain.c (parse): Support comments in the linker script + file on lines by themselves and after filenames + +2004-04-20 Jesus Calvino-Fraga + + * as/link_hc08.dsp: Added as/hc08/lkelf.c to project. + +2004-04-20 Erik Petrich + + * src/z80/peeph-z80.def: removed some peephole rules that don't + work with multibyte arithmetic (fixed bug #937126) + * src/mcs51/peeph.def: fixed peephole rules 150-158 to apply only + to registers and not global variables + * src/SDCCicode.c (geniCodeAssign, ast2iCode, geniCodePostInc, + geniCodePreInc, geniCodePostDec, geniCodePreDec, + geniCodeLogicAndOr, geniCodeConditional): enforce strict lvalue + checking for assignments not internally generated (fixed bug #931895) + * src/SDCC.y (postfix_expr): ignore typedefs when looking for a + structure member (fixed bug #930072) + +2004-04-19 Erik Petrich + + * src/SDCCmain.c (linkEdit), + * src/hc08/main.c (_hc08_parseOptions), + * as/hc08/Makefile.in, + * as/hc08/aslink.h, + * as/hc08/asm.h, + * as/hc08/m08pst.c, + * as/hc08/lkrloc.c (relr, rele), + * as/hc08/lkarea.c (lnkarea) + * as/hc08/lkmain.c (afile, parse), + * as/hc08/lkelf.c: support for ELF output + * as/hc08/lks19.c (s19), + * as/hc08/lkihx.c (ihx): ignore areas with the NOLOAD attribute + +2004-04-17 Jesus Calvino-Fraga + + * as/mcs51/lkihx.c: Fixed bug #899105. + +2004-04-16 Jesus Calvino-Fraga + + * doc/sdccman.lyx: Added instructons on how to convert MSVC .dsw and + .dsp files from Unix to DOS. + +2004-04-16 Erik Petrich + + * doc/sdccman.lyx: removed the ANSI-C noncompliance note regarding + function pointers; we have been compliant for several months now. + * src/mcs51/ralloc.c (serialRegAssign): enabled part of my 2004-04-13 + change that was accidently commented out + * src/mcs51/gen.c (freeAsmop, getFreePtr, freeForBranchAsmop, genIfxJump, + genCmpEq, jmpTrueOrFalse, genCmp, genAnd, genOr, genXor, genIfx): fixed + bug #922319 + +2004-04-15 Erik Petrich + + * src/hc08/gen.c: output of all of the internal debugging information + is now controlled by the D() macro; it is disabled by default + +2004-04-13 Erik Petrich + + * src/mcs51/ralloc.c (serialRegAssign, fillGaps, allocThisReg): try + harder to keep the same registers during a CAST iCode + * src/SDCCopt.c (optimizeCastCast, eBBlockFromiCode): casts of char to + long via int can be done in a single cast, if the signedness is + correct. + * support/regression/tests/bug-927659.c: fixed to avoid conflict with + putchar() in tinibios.c in ds390's library + +2004-04-12 Bernhard Held + + * src/SDCCast.c (decorateType): fixed bug #898889, + cast result of a literal complement too + * src/mcs51/ralloc.c (packRegsForAssign): fixed bug #930931, + fixed check for bitfields + +2004-04-11 Bernhard Held + + * src/SDCCicode.c (geniCodeLogic): made it static, + (geniCodeLogicAndOr): added in order to fix bug #905492, + (ast2iCode): fixed bug #905492 + * support/regression/tests/bug-905492.c: added + * src/SDCCast.c (decorateType): don't decorate/process parms twice, + (processParms): fixed bug #927659: don't copy parms, this will clear + decorated flag + * support/regression/tests/bug-927659.c: added + +2004-03-29 Bernhard Held + + * src/SDCCast.c (addCast): don't cast float to char + * device/lib/libsdcc.lib: added _memmove + +2004-03-28 Bernhard Held + + * device/lib/large/Makefile: fixed parallel execution by + replacing `make` by `$(MAKE)` + 2004-03-28 Erik Petrich * src/hc08/gen.c (genPointerGetSetOfs): correctly handle 1 byte array