aboutsummaryrefslogtreecommitdiff
path: root/gcc/java/check-init.c
diff options
context:
space:
mode:
authorPer Bothner <bothner@cygnus.com>1999-01-28 16:40:56 +0000
committerPer Bothner <bothner@gcc.gnu.org>1999-01-28 08:40:56 -0800
commitf2693f2f85d54240aff46cf84e10f5187e20302c (patch)
tree1663c1bc1a14923b658bc075038a4c5fa280f5de /gcc/java/check-init.c
parent81f4eddded16e3cab942e9aae0ba88432256cb0b (diff)
downloadgcc-f2693f2f85d54240aff46cf84e10f5187e20302c.zip
gcc-f2693f2f85d54240aff46cf84e10f5187e20302c.tar.gz
gcc-f2693f2f85d54240aff46cf84e10f5187e20302c.tar.bz2
check-init.c (check_bool2_init, [...]): Handle TRUTH_AND_EXPR, TRUTH_OR_EXPR, and TRUTH_XOR_EXPR.
� * check-init.c (check_bool2_init, check_bool_init, check_init): Handle TRUTH_AND_EXPR, TRUTH_OR_EXPR, and TRUTH_XOR_EXPR. * jcf-write.c (generate_bytecode_insns): Likewise. From-SVN: r24900
Diffstat (limited to 'gcc/java/check-init.c')
-rw-r--r--gcc/java/check-init.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/gcc/java/check-init.c b/gcc/java/check-init.c
index ec3e5ad..5cc6ec8 100644
--- a/gcc/java/check-init.c
+++ b/gcc/java/check-init.c
@@ -188,13 +188,13 @@ check_bool2_init (code, exp0, exp1, before, when_false, when_true)
INTERSECT (before, when_false_0, when_false_1);
UNION (when_false, when_false, before);
}
- else if (code == BIT_AND_EXPR)
+ else if (code == BIT_AND_EXPR || code == TRUTH_AND_EXPR)
{
UNION (when_true, when_true_0, when_true_1);
INTERSECT (when_false, when_false_0, when_false_1);
UNION (when_false, when_false, before);
}
- else /* if (code == BIT_IOR_EXPR) */
+ else /* if (code == BIT_IOR_EXPR || code == TRUTH_OR_EXPR) */
{
UNION (when_false, when_false_0, when_false_1);
INTERSECT (when_true, when_true_0, when_true_1);
@@ -263,12 +263,15 @@ check_bool_init (exp, before, when_false, when_true)
case BIT_AND_EXPR:
case BIT_IOR_EXPR:
+ case TRUTH_AND_EXPR:
+ case TRUTH_OR_EXPR:
case EQ_EXPR:
check_bool2_init (TREE_CODE (exp),
TREE_OPERAND (exp, 0), TREE_OPERAND (exp, 1),
before, when_false, when_true);
return;
+ case TRUTH_XOR_EXPR:
case BIT_XOR_EXPR:
case NE_EXPR:
/* Just like EQ_EXPR, but switch when_true and when_false. */
@@ -592,6 +595,9 @@ check_init (exp, before)
break;
case UNARY_PLUS_EXPR:
case NEGATE_EXPR:
+ case TRUTH_AND_EXPR:
+ case TRUTH_OR_EXPR:
+ case TRUTH_XOR_EXPR:
case TRUTH_NOT_EXPR:
case BIT_NOT_EXPR:
case CONVERT_EXPR: