From 384c400a82f70420e31fbdc7c1b0b9368fc53b5b Mon Sep 17 00:00:00 2001 From: Richard Henderson Date: Mon, 28 Sep 2009 09:44:32 -0700 Subject: except.h (struct eh_region_d): Add use_cxa_end_cleanup. * except.h (struct eh_region_d): Add use_cxa_end_cleanup. * except.c (gen_eh_region): Set it. (duplicate_eh_regions_1): Copy it. * tree-eh.c (lower_resx): Use it to determine which function to call to resume. * langhooks.h (struct lang_hooks): Add eh_use_cxa_end_cleanup. * langhooks-def.h (LANG_HOOKS_EH_USE_CXA_END_CLEANUP): New. * builtins.def (BUILT_IN_CXA_END_CLEANUP): New. * tree.c (build_common_builtin_nodes): Remove parameter. Build BUILT_IN_CXA_END_CLEANUP if necessary. * tree.h (build_common_builtin_nodes): Update decl. * c-common.c (c_define_builtins): Update call to build_common_builtin_nodes. gcc/ada/ * gcc-interface/utils.c (gnat_install_builtins): Update call to build_common_builtin_nodes. gcc/cp/ * cp-objcp-common.h (LANG_HOOKS_EH_USE_CXA_END_CLEANUP): New. gcc/fortran/ * f95-lang.c (gfc_init_builtin_functions): Update call to build_common_builtin_nodes. gcc/java/ * builtins.c (initialize_builtins): Update call to build_common_builtin_nodes. * lang.c (LANG_HOOKS_EH_USE_CXA_END_CLEANUP): New. From-SVN: r152241 --- gcc/java/ChangeLog | 6 ++++++ gcc/java/builtins.c | 2 +- gcc/java/lang.c | 3 +++ 3 files changed, 10 insertions(+), 1 deletion(-) (limited to 'gcc/java') diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog index 6c58a99..5a9f1d6 100644 --- a/gcc/java/ChangeLog +++ b/gcc/java/ChangeLog @@ -1,3 +1,9 @@ +2009-09-28 Richard Henderson + + * builtins.c (initialize_builtins): Update call to + build_common_builtin_nodes. + * lang.c (LANG_HOOKS_EH_USE_CXA_END_CLEANUP): New. + 2009-09-14 Richard Henderson * builtins.c (initialize_builtins): Update call to diff --git a/gcc/java/builtins.c b/gcc/java/builtins.c index a05ff53..6e4815b 100644 --- a/gcc/java/builtins.c +++ b/gcc/java/builtins.c @@ -584,7 +584,7 @@ initialize_builtins (void) build_function_type_list (ptr_type_node, int_type_node, NULL_TREE), "__builtin_return_address", BUILTIN_NOTHROW); - build_common_builtin_nodes (true); + build_common_builtin_nodes (); } /* If the call matches a builtin, return the diff --git a/gcc/java/lang.c b/gcc/java/lang.c index 504d029..f1d8f44 100644 --- a/gcc/java/lang.c +++ b/gcc/java/lang.c @@ -164,6 +164,9 @@ struct GTY(()) language_function { #undef LANG_HOOKS_EH_PERSONALITY #define LANG_HOOKS_EH_PERSONALITY java_eh_personality +#undef LANG_HOOKS_EH_USE_CXA_END_CLEANUP +#define LANG_HOOKS_EH_USE_CXA_END_CLEANUP true + /* Each front end provides its own. */ struct lang_hooks lang_hooks = LANG_HOOKS_INITIALIZER; -- cgit v1.1