diff options
author | Per Bothner <per@bothner.com> | 2001-12-03 17:10:08 -0800 |
---|---|---|
committer | Per Bothner <bothner@gcc.gnu.org> | 2001-12-03 17:10:08 -0800 |
commit | aedcdb655dd5d6444caca3e1aa2a4786c09ceb8c (patch) | |
tree | 74c53a26a18861bde10a625d7b3eca0f8d353671 /gcc/java/decl.c | |
parent | 3acc0e76327f930d3a7094d94bf65963aab68b20 (diff) | |
download | gcc-aedcdb655dd5d6444caca3e1aa2a4786c09ceb8c.zip gcc-aedcdb655dd5d6444caca3e1aa2a4786c09ceb8c.tar.gz gcc-aedcdb655dd5d6444caca3e1aa2a4786c09ceb8c.tar.bz2 |
decl.c (complete_start_java_method): Now generate TRY_FINALLY_EXPR instead of CLEANUP_POINT_EXPR and WITH_CLEANUP_EXPR.
* 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
CLEANUP_POINT_EXPR and WITH_CLEANUP_EXPR as they are no longer used.
* check-init.c (check_init): Likewise.
From-SVN: r47587
Diffstat (limited to 'gcc/java/decl.c')
-rw-r--r-- | gcc/java/decl.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/gcc/java/decl.c b/gcc/java/decl.c index 2577122..1cbd603 100644 --- a/gcc/java/decl.c +++ b/gcc/java/decl.c @@ -1714,12 +1714,9 @@ complete_start_java_method (fndecl) { tree function_body = DECL_FUNCTION_BODY (fndecl); tree body = BLOCK_EXPR_BODY (function_body); - lock = build (WITH_CLEANUP_EXPR, void_type_node, - enter, exit, NULL_TREE); - TREE_SIDE_EFFECTS (lock) = 1; - lock = build (COMPOUND_EXPR, TREE_TYPE (body), lock, body); - TREE_SIDE_EFFECTS (lock) = 1; - lock = build1 (CLEANUP_POINT_EXPR, TREE_TYPE (body), lock); + lock = build (COMPOUND_EXPR, void_type_node, + enter, + build (TRY_FINALLY_EXPR, void_type_node, body, exit)); TREE_SIDE_EFFECTS (lock) = 1; BLOCK_EXPR_BODY (function_body) = lock; } |