fix of need_config bug
[fw/sdcc] / ChangeLog
index 5a2c761f91c90d31c3c13085132e2f88edb14c8b..ea84b81c0abde80a9825f665718035f445cc874a 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,240 @@
+2004-10-12 Slade Rich <slade_rich AT users.sourceforge.net>
+
+       * src/pic/pcode.c : Applied a code patch supplied by Paul Ashmore in comments for Bugs item #954788.
+
+2004-10-10 Vangelis Rokas <vrokas AT otenet.gr>
+
+       * src/pic16/device.c (pic16_dump_gsection,
+       * pic16_groupRegistersInSection): handle symbols declared to be in
+       access bank differently,
+       * src/pic16/gen.c (struct _G): added field resDirect,
+       * (aopForSym): if symbol on stack and iCode is '=' and result exists,
+       send values read from stack directly to result and don't allocate
+       temporary values,
+       * (pic16_sameRegs): fixed bug that allowed MOVFF to move between
+       same registers,
+       * (pic16_sameRegsOfs): NEW,
+       * (freeAsmop): if _G.resDirect is set then do not mark registers as
+       free because they were not allocated from temporary pool,
+       * pic16_popRegFromString): workaround to fix a problem with
+       allocating variables twice or never,
+       * (genGenPointerGet): using PRODL instead of FSR0H,
+       * (genGenPointerSet): using POSTDEC1 (that is a stack location)
+       instead of FSR0H,
+       * (genAssign): take advantage of the _G.resDirect flag,
+       * (genCast): around line 11844, use mov2f instead of directly
+       MOVFF'ing between operands to account for literal values,
+       * src/pic16/genutils.c: some new debug functions for gpsim have been
+       added,
+       * src/pic16/glue.c (pic16_printIvalType): fixed bug that initialized
+       float with integer part only,
+       * src/pic16/main.c (_process_pragma): handle pragma udata access to
+       place variables in access bank
+       * device/lib/pic16/libsdcc/gptr/gptr*.c: using BRA instead of GOTO,
+       updated sources to reflect recent changes in gen.c
+
+2004-10-06 Vangelis Rokas <vrokas AT otenet.gr>
+
+       * device/lib/pic16/libsdcc/Makefile.rules: fixed bug concerning
+       sources that searched for headers in installation path, now the
+       device/include/pic16 is used,
+       * src/pic16/glue.c (pic16glue),
+       * src/pic16/pcode.c (pCode2str, genericPrint): don't print .file or
+       .line directives if not in debug mode, this suppresses assembler's
+       warnings for ignored directives
+
+2004-10-05 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * src/port.h: made reset_regparms prototype void parameter explicit.
+       * src/SDCCsymt.c (processFuncArgs): removed argument "func".
+       * src/mcs51/ralloc.c (packRegisters): new fix for bugs 898889 & 979599.
+       * doc/sdccman.lyx: documented warning disabling and how to use
+         printf_large to make it print floats.
+       * device/include/stdbool.h: NEW
+       * device/lib/_atof.c,
+       * device/lib/_divuint.c,
+       * device/lib/_divulong.c,
+       * device/lib/expf.c,
+       * device/lib/printf_large.c,
+       * device/lib/sincosf.c,
+       * device/lib/sincoshf.c: used stdbool.h, all compile with stack-auto now
+       * device/lib/Makefile.in: added target for model-mcs51-reentrant to build
+         a completely reentrant lib.
+
+2004-10-05 Vangelis Rokas <vrokas AT otenet.gr>
+
+       * device/lib/pic16/libsdcc/gptr/gptr*.c: added return statements
+       * device/include/pic16/stdio.h: fixed bug with colon
+
+2004-10-03 Vangelis Rokas <vrokas AT otenet.gr>
+
+       * device/include/pic16/stdio.h,
+       * device/include/pic16/stdlib.h,
+       * device/include/pic16/math.h: NEW
+       * device/lib/pic16/libsdcc/gptr/*.c (gptrget*, gptrput*): functions
+       declared as _naked to reduce overhead
+       * device/lib/Makefile.in (target port-specific-objects-pic16):
+       changed * to *.* so to ignore the CVS directory,
+       * src/pic16/gen.c (pic16_freeAsmop): added code to store result of
+       stacked variables back in stack,
+       * (genEndFunction): fixed bug reported by G.M. Gallant with stack
+       corruption
+
+2004-10-01 Vangelis Rokas <vrokas AT otenet.gr>
+
+       * .version: bumped version number to 2.4.5
+       * support/Util/SDCCerr.h: added warning W_POSSBUG2.
+       * support/Util/SDCCerr.c (messages structure): added entry for
+       W_POSSBUG2
+
+       Large cumulative patch for pic16 port and libraries.
+       * device/include/pic16/sdcc-lib.h,
+       * device/include/pic16/stdarg.h,
+       * device/include/asm/pic16/features.h,
+       * device/include/lib/pic16/libsdcc/gptr/{*.c, Makefile}: NEW,
+       * device/include/pic16/float.h: changes reentrant keyword with
+       _FS_REENTRANT, added prototype for __fsneq, included sdcc-lib.h
+       * device/lib/pic16/libsdcc/Makefile: added target directory gptr,
+       updated target build-libraries to include objects from gptr,
+       * device/lib/pic16/libsdcc/{char,int,long}/*.c: added macro
+       _IL_REENTRANT to all function headings, included sdcc-lib.h header,
+       * device/lib/pic16/libsdcc/float/*.c: added macro _FS_REENTRANT to
+       all function headings,
+       * src/SDCCmain.c: added global parameter userIncDirsSet,
+       * (parseCmdLine): when option -I is encountered add directory to
+       userIncDirsSet too,
+       * src/version.awk: added space between control and long,
+       * src/pic16/NOTES: added some notes for the port,
+       * src/pic16/gen.c: added prototype for mov2fp function,
+       * (fReturnpic16[]): properly named return value registers,
+       * (_G structure): added fields stackRegSet, fregsUsed, stack_lat,
+       * (aopForSym): added code to handle symbols with onStack flag set,
+       symbols onStack are allocated PTRSIZE bytes,
+       * (aopFreeAsmop): handles special case where asmops are stack objects,
+       * (aopGet, pic16_popGet): adde cod to handle new asmop AOP_STA,
+       * (pic16_popGetTempReg, pic16_popGetTempRegCond, pic16_popReleaseTempReg):
+       added argument lock to trace flaws in allocating temporary registers
+       when developing port,
+       * (pic16_popGetLit, pic16_popGetLit2): changed lit from unsigned to signed
+       * (pic16_popRegFromString): reenabled allocating a direct register
+       from string,
+       * (assignResultValue): various beautifications,
+       * fixed bug #1037717 (patch from R. Neider & D. Wrinkler) with mistaken
+       referenced function argument,
+       * (genIpush): reenabled to allow stacked arguments, handles only
+       ic->parmPush iCodes,
+       * (genCall, genPcall): major changes to allow for variable argument
+       functions, fixed a bug with falsely restoring stack pointer after
+       returning from call,
+       * (genFunction): pending code for critical function,
+       * (shiftR1Left2ResultSigned, shiftR1Left2Result, shiftL2Left2Result,
+       * (shiftR2Left2Result, shiftLLong) applied patch #1032155 from R.Neider,
+       * (genNearPointerGet): fixed bug with indirect reading, was always
+       reading from INDF0
+       * (genGenPointerGet, genGenPointerSet): rewrote to support generic
+       pointers,
+       * (genAddrOf): rewrote code to take address of a stacked function parameter
+       * (genCast): fixed casting to generic pointer type,
+       * src/pic16/gen.h: added AOP_STA,
+       * (struct asmop): added field stk,
+       * src/pic16/genarith.c (pic16_AopType): handle AOP_STA,
+       * (pic16_genPlusIncr): changed emitSKPNZ to emitSKPNZ,
+       * (pic16_genAddLit, pic16_genPlus): applied patch #1034042 by tecodev,
+       * (pic16_genMinus): fixed bug #1035119 with patch submitted by tecodev,
+       * src/pic16/genutils.c (pic16_genNot): removed symbol *tlbl,
+       * src/pic16/glue.c (pic16_printGPPointerType): fixed to support new
+       generic pointers,
+       * src/pic16/main.c (_pic16_initPaths): ignores default SDCC include
+       and library paths,
+       * (pic16_port structure): generic pointer size is set to 3,
+       * src/pic16/pcode.c (pic16_newpCodeOpLit): correctly print literal integer,
+       * (insertBankSwitch): cast to (char *) to prevent 64bit CPUs'
+       compiler warning,
+       * src/pic16/ralloc.c (allocReg): prevent allocating register when
+       operand is an iTemp,
+
+2004-09-24 Martin Helmling <mh AT octo-soft.de>
+
+       * debugger/mcs51/cmd.c: set PC if a symbol at pc reg is set
+       * debugger/mcs51/simi.c: addapt new syntax of s51
+
+2004-09-23 Vangelis Rokas <vrokas AT otenet.gr>
+
+       * src/pic16/genutils.c (pic16_genNot): fixed bug #1032265,
+       * src/pic16/pcode.c: commented out some calls to free() in order to
+       fix bug #989576,
+
+2004-09-23 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+       * src/SDCCicode.h,
+       * src/SDCCicode.c (isiCodeInFunctionCall),
+       * src/avr/ralloc.c (selectSpil),
+       * src/pic/ralloc.c (selectSpil),
+       * src/pic16/ralloc.c (selectSpil),
+       * src/ds390/ralloc.c (selectSpil),
+       * src/hc08/ralloc.c (selectSpil),
+       * src/xa51/ralloc.c (selectSpil),
+       * src/mcs51/ralloc.c (selectSpil): Don't use remainSpil to spill to the
+       stack in the middle of a function call sequence (fixes bug #1020268)
+       * src/SDCCicode.c (geniCodeJumpTable): fixed error in computing the
+       costs associated with the minimum switch case.
+
+2004-09-19 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+       * src/SDCC.lex: fixed bug #1030549
+
+2004-09-19 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+       * src/SDCCcse.h (struct cseDef),
+       * src/SDCCcse.c (cseBBlock, newCseDef, ifFromAddrTaken): purge CSEs
+       over a function call if the CSE is derived from a symbol whose
+       address has been taken (fixes bug #1029883)
+       * support/regression/tests/bug-1029883: a new regression test for
+       this bug
+
+2004-09-18 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+       * src/hc08/gen.c (emitinline): fixed bug #1029778
+       * src/SDCC.y (assignment_expr): fixed the grammer so that assignment
+       to a cast object is no longer a syntax error ("fixes" bug #1030006,
+       and starts toward RFE #905167)
+
+2004-09-17 Vangelis Rokas <vrokas AT otenet.gr>
+
+       * src/pic16/gen.c (mov2f): New function to move an operand to
+       another without considering if it is a literal or a register,
+       * (pic16_sameRegs): don't check if they are both AOP_REG,
+       * (AccRsh): removed andmask=0 lines,
+       * (genLeftShift): duplicated to be improved in future versions,
+       * src/pic16/main.c (_process_pragma): emit stack default size in hex,
+       * src/pic16/pcode.c: added POC_INFSNZW, updated inverted_op fields
+       in POC_INCFSZ, POC_INCFSZW, POC_INFSNZ,
+       * (pic16initMnemonics): added initialization for POC_INFSNZW,
+       * (insertBankSwitch): fixed inserting banksel directives algorithm
+       for instructions that follow a skip instruction, this fixes a report
+       for broken subtraction code generation,
+       * src/pic16/ralloc.c (deassignLRs): do not free register if current
+       iCode is a left op, just in case result and right share the same
+       registers
+
+2004-09-16 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+       * src/hc08/main.c,
+       * src/hc08/gen.c (genJumpTable): more efficient jump table, supports
+       preservation of HX
+       * src/hc08/gen.c (pullRegs): fixed order of HX & XA pairs
+       * src/mcs51/ralloc.c (packRegisters): removed the patch applied
+       on 2004-09-12; it was buggy
+
+2004-09-15 Bernhard Held <bernhard AT bernhardheld.de>
+
+       * src/SDCCsymt.h: removed RESULT_CHECK
+       * src/SDCCast.c,
+       * src/SDCCglue.c,
+       * src/SDCCval.c,
+       * src/pic/glue.c,
+       * src/pic16/glue.c: replaced RESULT_CHECK with RESULT_TYPE_NONE
+
 2004-09-15 Vangelis Rokas <vrokas AT otenet.gr>
 
        * src/SDCCicode.c (piCode): applied patch from Raphael Neider,