diff options
Diffstat (limited to 'src/SDCCval.c')
-rw-r--r-- | src/SDCCval.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/SDCCval.c b/src/SDCCval.c index f2210d308..76f1d31b0 100644 --- a/src/SDCCval.c +++ b/src/SDCCval.c @@ -763,6 +763,7 @@ checkConstantRange (sym_link *var, sym_link *lit, int op, bool exchangeLeftRight #if 0 printf("checkConstantRange\n"); + printf(" op = %d\n", op); printf(" varBits = %d\n", varBits); printf(" ulitVal = 0x%016lx\n", ulitVal); printf(" signExtMask = 0x%016lx\n", signExtMask); @@ -859,7 +860,7 @@ checkConstantRange (sym_link *var, sym_link *lit, int op, bool exchangeLeftRight TYPE_TARGET_ULONGLONG minValP, maxValP, minValM, maxValM; TYPE_TARGET_ULONGLONG opBitsMask = reBits >= sizeof(opBitsMask)*8 ? ~0ull : ((1ull << reBits)-1); - if (IS_BOOL (var)) + if (IS_BOOLEAN (var)) { minValP = 0; maxValP = 1; @@ -974,7 +975,7 @@ checkConstantRange (sym_link *var, sym_link *lit, int op, bool exchangeLeftRight /* signed operation */ TYPE_TARGET_LONGLONG minVal, maxVal; - if (IS_BOOL (var)) + if (IS_BOOLEAN (var)) { minVal = 0; maxVal = 1; @@ -994,6 +995,12 @@ checkConstantRange (sym_link *var, sym_link *lit, int op, bool exchangeLeftRight maxVal = ~(signExtMask | signMask); } +#if 0 + printf(" litVal = %lld\n", litVal); + printf(" maxVal = %lld\n", maxVal); + printf(" minVal = %lld\n", minVal); +#endif + switch (op) { case EQ_OP: /* var == lit */ |