From 87d4ad08041d060b51489767a61c6700119d6e8c Mon Sep 17 00:00:00 2001 From: Per Bothner Date: Mon, 3 Dec 2001 17:24:59 -0800 Subject: [PATCH] parse.y (patch_binop): Minor constant folding. * parse.y (patch_binop): Minor constant folding. * parse.y (build_current_thisn): Shorter 'buffer'. From-SVN: r47588 --- gcc/java/ChangeLog | 6 ++++++ gcc/java/parse.y | 10 +++++++++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog index ca9284ccdd9..ae85b1a1e2e 100644 --- a/gcc/java/ChangeLog +++ b/gcc/java/ChangeLog @@ -1,3 +1,9 @@ +2001-12-03 Per Bothner + + * parse.y (patch_binop): Minor constant folding. + + * parse.y (build_current_thisn): Shorter 'buffer'. + 2001-12-03 Per Bothner * decl.c (complete_start_java_method): Now generate TRY_FINALLY_EXPR diff --git a/gcc/java/parse.y b/gcc/java/parse.y index 09d5cd69d8a..608ec91bc60 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; -- 2.30.2