diff options
author | Per Bothner <per@bothner.com> | 2001-12-03 17:24:59 -0800 |
---|---|---|
committer | Per Bothner <bothner@gcc.gnu.org> | 2001-12-03 17:24:59 -0800 |
commit | 87d4ad08041d060b51489767a61c6700119d6e8c (patch) | |
tree | 714b43a3670e95d3e458fdea069dbdc9db4488e3 /gcc/java | |
parent | aedcdb655dd5d6444caca3e1aa2a4786c09ceb8c (diff) | |
download | gcc-87d4ad08041d060b51489767a61c6700119d6e8c.zip gcc-87d4ad08041d060b51489767a61c6700119d6e8c.tar.gz gcc-87d4ad08041d060b51489767a61c6700119d6e8c.tar.bz2 |
parse.y (patch_binop): Minor constant folding.
* parse.y (patch_binop): Minor constant folding.
* parse.y (build_current_thisn): Shorter 'buffer'.
From-SVN: r47588
Diffstat (limited to 'gcc/java')
-rw-r--r-- | gcc/java/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/java/parse.y | 10 |
2 files changed, 15 insertions, 1 deletions
diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog index ca9284c..ae85b1a1 100644 --- a/gcc/java/ChangeLog +++ b/gcc/java/ChangeLog @@ -1,5 +1,11 @@ 2001-12-03 Per Bothner <per@bothner.com> + * parse.y (patch_binop): Minor constant folding. + + * parse.y (build_current_thisn): Shorter 'buffer'. + +2001-12-03 Per Bothner <per@bothner.com> + * decl.c (complete_start_java_method): Now generate TRY_FINALLY_EXPR instead of CLEANUP_POINT_EXPR and WITH_CLEANUP_EXPR. * jcf-write.c (generate_bytecode_insns): Remove support for 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; |