* src/SDCCast.c (backPatchLabels): fixed bug #1504636
[fw/sdcc] / ChangeLog
index cc8be47d200ba4142f7337cc672a3a98ed364595..ea69b4753494ed2eebefc76e78b43e570d80a16d 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,118 @@
+2006-06-12 Bernhard Held <bernhard AT bernhardheld.de>
+
+       * src/SDCCast.c (backPatchLabels): fixed bug #1504636
+
+2006-06-11 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * device/lib/printf_large.c (OUTPUT_CHAR, _output_char): added and used
+         for optimization
+
+2006-06-11 Vangelis Rokas <vrokas AT users.sourceforge.net>
+
+       * src/pic16/gen.c (genCast): fixed bug with assignment of a pointer
+       to a char variable. Fixed bug #1504211
+       * device/include/pic16/adc.h,
+       device/include/lib/pic16/libio/adc/adcopen.c: applied patch #1364387
+       and fixed bug #1364390
+
+2006-06-10 Borut Razem <borut.razem AT siol.net>
+
+       * CVSROOT: removed the CVS left-over
+
+2006-06-10 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * as/hc08/asmain.c (asexit),
+       * as/hc08/lkmain.c (lkexit),
+       * as/mcs51/asmain.c (asexit),
+       * as/mcs51/lkmain.c (lkexit),
+       * src/SDCCglue.c (DEFSETFUNC),
+       * src/SDCCmain.c (linkEdit, assemble),
+       * support/librarian/sdcclib.c (AddRel),
+         replaced unlink() by standard C remove()
+       * src/SDCC.y: replaced removePostIncDecOps() by createRMW()
+       * src/SDCCast.c (replaceAstWithTemporary, createRMW,
+         gatherImplicitVariables): new, added to fix bug 608752,
+         (createFunction): added gatherImplicitVariables()
+       * src/SDCCast.h: added createRMW prototype
+       * src/SDCCsymt.h (struct symbol): added infertype
+       * support/regression/tests/bug608752.c: new, added
+
+2006-06-10 Raphael Neider <rneider AT web.de>
+
+       * src/pic16/gen.c (pic16_aopOp): use WREG as destination even for
+         multibyte dummy reads (fixes #1503234)
+
+2006-06-10 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * device/include/mcs51/compiler.h: new, added header file to enable
+         creating common sfr definition header files for different compilers
+
+2006-06-05 Raphael Neider <rneider AT web.de>
+
+       * src/pic16/{pcode.h,genarith.c}:
+         introduced pCodeOp combining any two pCodeOps (previously only
+         two register operands could be combined), removed pcop2 from
+         pCodepReg, replaced pCodeOpReg2 with pCodeOp2, fixes #1492366
+       * src/pic16/pcodepeep.c (pic16_pCodeOpCopy): added case for PO_TWO_OPS
+       * src/pic16/gen.c (pic16_popGet2,pic16_popGet2p,pic16_popCombine2):
+         rewritten to use new PO_TWO_OPS
+       * src/pic16/main.c (_hasNativeMulFor): cover more cases natively,
+       * src/pic16/pcode.c (pic16_newpCodeOpImmd): initialize rIdx field,
+         (pic16_newpCodeOp): catch invalid attempts on PO_TWO_OPS,
+         (pic16_newpCodeOp2): NEW, create combined pCodeOp,
+         (pic16_get_op): embraced return arg to allow #define return(x),
+           added new case for combined opcodes
+         (pic16_get_op2): reduced to use pic16_get_op() on second pCodeOp,
+         (pic16_pCode2str,pic16_getRegFrompCodeOp,
+          pic16_getRegFromInstruction2): fixed/added handling of new pCodeOp
+
+2006-06-04 Bernhard Held <bernhard AT bernhardheld.de>
+
+       * src/SDCCval.c (checkConstantRange): added
+       * src/SDCCval.h: added checkConstantRange
+       * support/Util/SDCCerr.c,
+       * support/Util/SDCCerr.h: replaced unused W_IF_NEVER_TRUE and
+       W_IF_ALWAYS_TRUE by W_COMP_RANGE and W_LIT_OVERFLOW
+       * src/SDCC.y: moved early 'condition transformations' to SDCCast.c
+       * src/SDCCast.c (decorateType): added checkConstantRange,
+       added 'condition transformations' from SDCC.y so that now W_COMP_RANGE
+       can be emitted with the correct always true/false warning,
+       added optimization for double '!';
+       result of decorateType() must be assigned back to the tree, because
+       decorateType() can change the tree
+       * src/SDCCicode.c (geniCodeLogic),
+       (geniCodeAssign): replaced new checkConstantRange, added warnings,
+       (checkConstantRange): removed, it was only a fragment which never
+       emitted a warning
+       * src/SDCCsymt.c (computeType): fixed promotion for
+       "-1 < (unsigned bit) b"
+       * src/pic/ralloc.c (packRegsForAssign),
+       * src/pic16/ralloc.c (packRegsForAssign),
+       * src/hc08/ralloc.c (packRegsForAssign),
+       * src/z80/ralloc.c (packRegsForAssign): ported fix for bug #930931
+       from mcs51
+       * src/mcs51/ralloc.c (packRegsForAssign): removed outcommented source
+       * support/regression/tests/constantRange.c: added
+       * support/valdiag/tests/constantRange.c: added
+       * support/valdiag/valdiag.py: added -DPORT_HOST=1
+
+2006-06-02 Borut Razem <borut.razem AT siol.net>
+
+       * support/regression/ports/pic16/support.c: increase stack size
+         to 255 bytes
+       * support/regression/Makefile.in: sort tests by name so that the
+         resutlts can be compared on different machines / platforms
+
+2006-06-02 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * device/lib/printf_large.c (output_digit): optimized further, Tnx Frieder
+       * src/ds390/gen.c (emitLabel): new, added,
+         (genDjnz): fixed stack overflow bug,
+         (throughout): cosmetic changes to sync with mcs51/gen.c,
+         replaced emitcode("", "%05d$:", lbl->key + 100) with emitLabel(lbl)
+       * src/mcs51/gen.c (genEndFunction): small optimization,
+         (throughout): cosmetic changes to sync with ds390/gen.c
+
 2006-06-02 Maarten Brock <sourceforge.brock AT dse.nl>
 
        * device/lib/printf_large.c (output_digit, calculate_digit): optimized,