diff options
author | Richard Henderson <rth@redhat.com> | 2009-09-14 12:18:58 -0700 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2009-09-14 12:18:58 -0700 |
commit | 1d65f45cfaefa060737af130c3fc69afb3030980 (patch) | |
tree | 2fcbbb5f99b13293753d83230cf9f4e0893a9b51 /gcc/objc | |
parent | 0c433c31b31f25e3f18e58bd8d404c02722d7f7c (diff) | |
download | gcc-1d65f45cfaefa060737af130c3fc69afb3030980.zip gcc-1d65f45cfaefa060737af130c3fc69afb3030980.tar.gz gcc-1d65f45cfaefa060737af130c3fc69afb3030980.tar.bz2 |
Squash commit of EH in gimple
From-SVN: r151696
Diffstat (limited to 'gcc/objc')
-rw-r--r-- | gcc/objc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/objc/objc-act.c | 15 |
2 files changed, 16 insertions, 5 deletions
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 <rth@redhat.com> + + * 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 <rguenther@suse.de> Rafael Avila de Espindola <espindola@google.com> 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)". */ |