diff options
Diffstat (limited to 'gcc/java/parse.y')
-rw-r--r-- | gcc/java/parse.y | 10 |
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; |