git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@1364
4a8a32a2-be11-0410-ad9d-
d568d2c75423
- retval = operandFromLit (((SPEC_USIGN(let) ?
+ retval = operandFromLit ((SPEC_USIGN(let) ?
(unsigned long) operandLitValue (left) :
(long) operandLitValue (left)) <<
(SPEC_USIGN(ret) ?
(unsigned long) operandLitValue (right) :
(unsigned long) operandLitValue (left) :
(long) operandLitValue (left)) <<
(SPEC_USIGN(ret) ?
(unsigned long) operandLitValue (right) :
- (long) operandLitValue (right))));
+ (long) operandLitValue (right)));
- retval = operandFromLit (((SPEC_USIGN(let) ?
+ retval = operandFromLit ((SPEC_USIGN(let) ?
(unsigned long) operandLitValue (left) :
(long) operandLitValue (left)) >>
(SPEC_USIGN(ret) ?
(unsigned long) operandLitValue (right) :
(unsigned long) operandLitValue (left) :
(long) operandLitValue (left)) >>
(SPEC_USIGN(ret) ?
(unsigned long) operandLitValue (right) :
- (long) operandLitValue (right))));
+ (long) operandLitValue (right)));
break;
case EQ_OP:
retval = operandFromLit (operandLitValue (left) ==
break;
case EQ_OP:
retval = operandFromLit (operandLitValue (left) ==
operandLitValue (right));
break;
case BITWISEAND:
operandLitValue (right));
break;
case BITWISEAND:
- retval = operandFromLit ((unsigned long) operandLitValue (left) &
- (unsigned long) operandLitValue (right));
+ retval = operandFromLit ((SPEC_USIGN(let) ?
+ (unsigned long) operandLitValue (left) :
+ (long) operandLitValue (left)) &
+ (SPEC_USIGN(ret) ?
+ (unsigned long) operandLitValue (right) :
+ (long) operandLitValue (right)));
- retval = operandFromLit ((unsigned long) operandLitValue (left) |
- (unsigned long) operandLitValue (right));
+ retval = operandFromLit ((SPEC_USIGN(let) ?
+ (unsigned long) operandLitValue (left) :
+ (long) operandLitValue (left)) |
+ (SPEC_USIGN(ret) ?
+ (unsigned long) operandLitValue (right) :
+ (long) operandLitValue (right)));
- retval = operandFromLit ((unsigned long) operandLitValue (left) ^
- (unsigned long) operandLitValue (right));
+ retval = operandFromLit ((SPEC_USIGN(let) ?
+ (unsigned long) operandLitValue (left) :
+ (long) operandLitValue (left)) ^
+ (SPEC_USIGN(ret) ?
+ (unsigned long) operandLitValue (right) :
+ (long) operandLitValue (right)));
break;
case AND_OP:
retval = operandFromLit (operandLitValue (left) &&
break;
case AND_OP:
retval = operandFromLit (operandLitValue (left) &&
OP_SYMBOL (IC_RESULT (indIc))->isind = 1;
ip = newInduction (IC_RIGHT (ic), dic->op, litValue, indIc, NULL);
OP_SYMBOL (IC_RESULT (indIc))->isind = 1;
ip = newInduction (IC_RIGHT (ic), dic->op, litValue, indIc, NULL);
fprintf (stderr, "%s:%d: stupid way to avoid bug #467035, but\n"
"this will keep the regressions tests going.\n",
__FILE__, __LINE__);
continue;
fprintf (stderr, "%s:%d: stupid way to avoid bug #467035, but\n"
"this will keep the regressions tests going.\n",
__FILE__, __LINE__);
continue;
/* replace the inducted variable by the iTemp */
replaceSymBySym (loopReg->regBlocks, IC_RESULT (ic), IC_RIGHT (ic));
/* replace the inducted variable by the iTemp */
replaceSymBySym (loopReg->regBlocks, IC_RESULT (ic), IC_RIGHT (ic));
constFloatVal (char *s)
{
value *val = newValue ();
constFloatVal (char *s)
{
value *val = newValue ();
- if (sscanf (s, "%f", &sval) != 1)
+ if (sscanf (s, "%lf", &sval) != 1)
{
werror (E_INVALID_FLOAT_CONST, s);
return constVal ("0");
{
werror (E_INVALID_FLOAT_CONST, s);
return constVal ("0");