aboutsummaryrefslogtreecommitdiff
path: root/gcc/java/decl.c
diff options
context:
space:
mode:
authorPer Bothner <per@bothner.com>2001-12-03 17:10:08 -0800
committerPer Bothner <bothner@gcc.gnu.org>2001-12-03 17:10:08 -0800
commitaedcdb655dd5d6444caca3e1aa2a4786c09ceb8c (patch)
tree74c53a26a18861bde10a625d7b3eca0f8d353671 /gcc/java/decl.c
parent3acc0e76327f930d3a7094d94bf65963aab68b20 (diff)
downloadgcc-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.c9
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;
}