}
/* Comparing a char against a constant may have a constant
- * result.
+ * result. Please note: It is not possible to remove the code
+ * for the compare alltogether, because it may have side
+ * effects.
*/
switch (Tok) {
if (Expr2.IVal < LeftMin || Expr2.IVal > LeftMax) {
ED_MakeConstAbsInt (Expr, 0);
WarnConstCompareResult ();
- RemoveCode (&Mark0);
goto Done;
}
break;
if (Expr2.IVal < LeftMin || Expr2.IVal > LeftMax) {
ED_MakeConstAbsInt (Expr, 1);
WarnConstCompareResult ();
- RemoveCode (&Mark0);
goto Done;
}
break;
if (Expr2.IVal <= LeftMin || Expr2.IVal > LeftMax) {
ED_MakeConstAbsInt (Expr, Expr2.IVal > LeftMax);
WarnConstCompareResult ();
- RemoveCode (&Mark0);
goto Done;
}
break;
if (Expr2.IVal < LeftMin || Expr2.IVal >= LeftMax) {
ED_MakeConstAbsInt (Expr, Expr2.IVal >= LeftMax);
WarnConstCompareResult ();
- RemoveCode (&Mark0);
goto Done;
}
break;
if (Expr2.IVal <= LeftMin || Expr2.IVal > LeftMax) {
ED_MakeConstAbsInt (Expr, Expr2.IVal <= LeftMin);
WarnConstCompareResult ();
- RemoveCode (&Mark0);
goto Done;
}
break;
if (Expr2.IVal < LeftMin || Expr2.IVal >= LeftMax) {
ED_MakeConstAbsInt (Expr, Expr2.IVal < LeftMin);
WarnConstCompareResult ();
- RemoveCode (&Mark0);
goto Done;
}
break;