From 1d65f45cfaefa060737af130c3fc69afb3030980 Mon Sep 17 00:00:00 2001 From: Richard Henderson Date: Mon, 14 Sep 2009 12:18:58 -0700 Subject: Squash commit of EH in gimple From-SVN: r151696 --- gcc/objc/ChangeLog | 6 ++++++ gcc/objc/objc-act.c | 15 ++++++++++----- 2 files changed, 16 insertions(+), 5 deletions(-) (limited to 'gcc/objc') diff --git a/gcc/objc/ChangeLog b/gcc/objc/ChangeLog index 59317eb..70f841b 100644 --- a/gcc/objc/ChangeLog +++ b/gcc/objc/ChangeLog @@ -1,3 +1,9 @@ +2009-09-14 Richard Henderson + + * objc-act.c (objc_init_exceptions): Don't call + default_init_unwind_resume_libfunc. + (objc_build_exc_ptr): Use __builtin_eh_pointer. + 2009-09-13 Richard Guenther Rafael Avila de Espindola diff --git a/gcc/objc/objc-act.c b/gcc/objc/objc-act.c index f695431..eac7ff0 100644 --- a/gcc/objc/objc-act.c +++ b/gcc/objc/objc-act.c @@ -3475,7 +3475,7 @@ struct objc_try_context /* The CATCH_EXPR of an open @catch clause. */ tree current_catch; - /* The VAR_DECL holding the Darwin equivalent of EXC_PTR_EXPR. */ + /* The VAR_DECL holding the Darwin equivalent of __builtin_eh_pointer. */ tree caught_decl; tree stack_decl; tree rethrow_decl; @@ -3510,9 +3510,9 @@ objc_eh_personality (void) } #endif -/* Build an EXC_PTR_EXPR, or the moral equivalent. In the case of Darwin, - we'll arrange for it to be initialized (and associated with a binding) - later. */ +/* Build __builtin_eh_pointer, or the moral equivalent. In the case + of Darwin, we'll arrange for it to be initialized (and associated + with a binding) later. */ static tree objc_build_exc_ptr (void) @@ -3528,7 +3528,12 @@ objc_build_exc_ptr (void) return var; } else - return build0 (EXC_PTR_EXPR, objc_object_type); + { + tree t; + t = built_in_decls[BUILT_IN_EH_POINTER]; + t = build_call_expr (t, 1, integer_zero_node); + return fold_convert (objc_object_type, t); + } } /* Build "objc_exception_try_exit(&_stack)". */ -- cgit v1.1