diff options
| author | bothner <bothner@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-12-04 01:24:59 +0000 |
|---|---|---|
| committer | bothner <bothner@138bc75d-0d04-0410-961f-82ee72b054a4> | 2001-12-04 01:24:59 +0000 |
| commit | dfc0ccf044bd4ef18d013a9ddfe074366e346aa7 (patch) | |
| tree | 714b43a3670e95d3e458fdea069dbdc9db4488e3 | |
| parent | d573537dc9b3df95796129d1162aa318556753d5 (diff) | |
| download | ppe42-gcc-dfc0ccf044bd4ef18d013a9ddfe074366e346aa7.tar.gz ppe42-gcc-dfc0ccf044bd4ef18d013a9ddfe074366e346aa7.zip | |
* parse.y (patch_binop): Minor constant folding.
* parse.y (build_current_thisn): Shorter 'buffer'.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47588 138bc75d-0d04-0410-961f-82ee72b054a4
| -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 ca9284ccdd9..ae85b1a1e2e 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 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; |

