diff options
Diffstat (limited to 'gcc/cp/except.c')
-rw-r--r-- | gcc/cp/except.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/cp/except.c b/gcc/cp/except.c index de83bbaa841..be7208e2f0f 100644 --- a/gcc/cp/except.c +++ b/gcc/cp/except.c @@ -38,6 +38,7 @@ Boston, MA 02110-1301, USA. */ #include "toplev.h" #include "tree-inline.h" #include "tree-iterator.h" +#include "target.h" static void push_eh_cleanup (tree); static tree prepare_eh_type (tree); @@ -79,6 +80,10 @@ init_exception_processing (void) eh_personality_libfunc = init_one_libfunc (USING_SJLJ_EXCEPTIONS ? "__gxx_personality_sj0" : "__gxx_personality_v0"); + if (targetm.arm_eabi_unwinder) + unwind_resume_libfunc = init_one_libfunc ("__cxa_end_cleanup"); + else + default_init_unwind_resume_libfunc (); lang_eh_runtime_type = build_eh_type_type; lang_protect_cleanup_actions = &cp_protect_cleanup_actions; |