aboutsummaryrefslogtreecommitdiff
path: root/gcc/java/parse.y
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/java/parse.y')
-rw-r--r--gcc/java/parse.y10
1 files changed, 9 insertions, 1 deletions
diff --git a/gcc/java/parse.y b/gcc/java/parse.y
index 09d5cd6..608ec91 100644
--- a/gcc/java/parse.y
+++ b/gcc/java/parse.y
@@ -8619,7 +8619,7 @@ build_current_thisn (type)
static int saved_type_i = 0;
static int initialized_p;
tree decl;
- char buffer [80];
+ char buffer [24];
int i = 0;
/* Register SAVED_THISN and SAVED_TYPE with the garbage collector. */
@@ -13770,6 +13770,14 @@ patch_binop (node, wfl_op1, wfl_op2)
error_found = 1;
break;
}
+ else if (integer_zerop (op1))
+ {
+ return code == TRUTH_ANDIF_EXPR ? op1 : op2;
+ }
+ else if (integer_onep (op1))
+ {
+ return code == TRUTH_ANDIF_EXPR ? op2 : op1;
+ }
/* The type of the conditional operators is BOOLEAN */
prom_type = boolean_type_node;
break;