case '?':
case ':':
case SIZEOF: /* evaluate wihout code generation */
-
+
if (IS_AST_SYM_VALUE (pbody->left) &&
isSymbolEqual (AST_SYMBOL (pbody->left), sym))
return FALSE;
}
}
/* if unsigned value < 0 then always false */
- /* if (unsigned value) > 0 then (unsigned value) */
+ /* if (unsigned value) > 0 then '(unsigned value) ? 1 : 0' */
if (SPEC_USIGN(LETYPE(tree)) && IS_LITERAL(RTYPE(tree)) &&
((int) floatFromVal (valFromType (RETYPE (tree)))) == 0)
{
}
if (tree->opval.op == '>')
{
- return tree->left;
+ tree->opval.op = '!';
+ tree->right = NULL;
+ LRVAL (tree) = 1;
+ TTYPE (tree) = TETYPE (tree) = newCharLink ();
+ return tree;
}
}
/* if they are both literal then */