I forgot to change the date in the last entry.
[fw/sdcc] / ChangeLog
index 7a959a47d4d7f34acee3923919f078931a28bb66..03d5dcfb4be5eec1bb64c3973ad0b6d28944df18 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,184 @@
+2004-05-14 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
+
+       * as/mcs51/lkmem.c, as/mcs51/lkaomf51: fixed bug 954173
+
+2004-05-14 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+       * 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 <epetrich AT ivorytower.norman.ok.us>
+
+       * 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 <epetrich AT ivorytower.norman.ok.us>
+
+       * 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 <epetrich AT ivorytower.norman.ok.us>
+
+       * src/hc08/gen.c (genJumpTab, emitcode, genhc08code): fixed stack error
+       and inappropriate peephole optimization in jump tables
+
+2004-04-30 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
+
+       * as/hc08/m08pst.c,
+       * src/SDCCglue.c: sdccopt works for the hc08 port now
+
+2004-04-27 Bernhard Held <bernhard AT bernhardheld.de>
+
+       * src/SDCCicode.c (geniCodePreInc, geniCodePreDec): fixed bug #942130
+
+2004-04-27 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
+
+       * as/hc08/lkelf.c: sdccconf.h is not available in WIN32
+
+2004-04-24 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+       * 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 <epetrich AT ivorytower.norman.ok.us>
+
+       * 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 <epetrich AT ivorytower.norman.ok.us>
+
+       * 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 <epetrich AT ivorytower.norman.ok.us>
+
+       * 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 <epetrich AT ivorytower.norman.ok.us>
+
+       * 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 <jesusc AT ece.ubc.ca>
 
        * as/link_hc08.dsp: Added as/hc08/lkelf.c to project.