diff options
author | Richard Henderson <rth@redhat.com> | 2010-09-28 13:44:58 -0700 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2010-09-28 13:44:58 -0700 |
commit | f0a0390e691ece0d859b7d87c6e6617d227cb8dd (patch) | |
tree | abc0f2fe4784df2eb251f4c04a0493fec3eac91d /gcc/cp | |
parent | c165dca7efdb3f4bdae82c01b409a6b9cf4dbd65 (diff) | |
download | gcc-f0a0390e691ece0d859b7d87c6e6617d227cb8dd.zip gcc-f0a0390e691ece0d859b7d87c6e6617d227cb8dd.tar.gz gcc-f0a0390e691ece0d859b7d87c6e6617d227cb8dd.tar.bz2 |
Hookize TARGET_UNWIND_INFO et al.
From-SVN: r164701
Diffstat (limited to 'gcc/cp')
-rw-r--r-- | gcc/cp/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/cp/Make-lang.in | 2 | ||||
-rw-r--r-- | gcc/cp/cp-lang.c | 22 |
3 files changed, 19 insertions, 11 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index a1806fc..095ac2e 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,9 @@ +2010-09-28 Richard Henderson <rth@redhat.com> + + * cp-lang.c: Include "target.h". + (cp_eh_personality): Use targetm.except_unwind_info. + * Make-lang.in (cp-lang.o): Update deps. + 2010-09-28 Iain Sandoe <iains@gcc.gnu.org> * parser.c (cp_parser_objc_valid_prefix_attributes): New. diff --git a/gcc/cp/Make-lang.in b/gcc/cp/Make-lang.in index a2d34e3..35736ca 100644 --- a/gcc/cp/Make-lang.in +++ b/gcc/cp/Make-lang.in @@ -250,7 +250,7 @@ cp/lex.o: cp/lex.c $(CXX_TREE_H) $(TM_H) $(FLAGS_H) \ $(C_PRAGMA_H) toplev.h output.h input.h cp/operators.def $(TM_P_H) cp/cp-lang.o: cp/cp-lang.c $(CXX_TREE_H) $(TM_H) toplev.h debug.h langhooks.h \ $(LANGHOOKS_DEF_H) $(C_COMMON_H) gtype-cp.h gt-cp-cp-lang.h \ - cp/cp-objcp-common.h $(EXPR_H) + cp/cp-objcp-common.h $(EXPR_H) $(TARGET_H) cp/decl.o: cp/decl.c $(CXX_TREE_H) $(TM_H) $(FLAGS_H) cp/decl.h \ output.h toplev.h $(HASHTAB_H) $(RTL_H) \ cp/operators.def $(TM_P_H) $(TREE_INLINE_H) $(DIAGNOSTIC_H) $(C_PRAGMA_H) \ diff --git a/gcc/cp/cp-lang.c b/gcc/cp/cp-lang.c index fb687b8..0b70444 100644 --- a/gcc/cp/cp-lang.c +++ b/gcc/cp/cp-lang.c @@ -32,6 +32,7 @@ along with GCC; see the file COPYING3. If not see #include "debug.h" #include "cp-objcp-common.h" #include "hashtab.h" +#include "target.h" enum c_language_kind c_language = clk_cxx; static void cp_init_ts (void); @@ -165,16 +166,17 @@ cp_eh_personality (void) { if (!cp_eh_personality_decl) { - if (!pragma_java_exceptions) - cp_eh_personality_decl - = build_personality_function (USING_SJLJ_EXCEPTIONS - ? "__gxx_personality_sj0" - : "__gxx_personality_v0"); - else - cp_eh_personality_decl - = build_personality_function (USING_SJLJ_EXCEPTIONS - ? "__gcj_personality_sj0" - : "__gcj_personality_v0"); + const char *name; + + name = (targetm.except_unwind_info () == UI_SJLJ + ? (pragma_java_exceptions + ? "__gcj_personality_sj0" + : "__gxx_personality_sj0") + : (pragma_java_exceptions + ? "__gcj_personality_v0" + : "__gxx_personality_v0")); + + cp_eh_personality_decl = build_personality_function (name); } return cp_eh_personality_decl; |