* src/SDCCval.c (checkConstantRange): added
authorbernhardheld <bernhardheld@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Sun, 4 Jun 2006 20:14:11 +0000 (20:14 +0000)
committerbernhardheld <bernhardheld@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Sun, 4 Jun 2006 20:14:11 +0000 (20:14 +0000)
commitaa0ca082f440cf7b9cf126faf97e03fbbf0c0bc2
treec0f33f59496291780522fc73852ad29fe0686d4b
parentc97c8cdcd4e2f8f6437fa9a2c3a8c249cb8d2dcd
* 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

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@4206 4a8a32a2-be11-0410-ad9d-d568d2c75423
16 files changed:
ChangeLog
src/SDCC.y
src/SDCCast.c
src/SDCCicode.c
src/SDCCsymt.c
src/SDCCval.c
src/SDCCval.h
src/hc08/ralloc.c
src/mcs51/gen.c
src/mcs51/ralloc.c
src/pic/ralloc.c
src/pic16/ralloc.c
src/z80/ralloc.c
support/Util/SDCCerr.c
support/Util/SDCCerr.h
support/valdiag/valdiag.py