aboutsummaryrefslogtreecommitdiff
path: root/gcc/cgraphbuild.c
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2011-06-10 01:39:54 +0200
committerJan Hubicka <hubicka@gcc.gnu.org>2011-06-09 23:39:54 +0000
commit9cf4fb5a36f89586c9446b5d4db29a19bd06531b (patch)
tree0334c2b97ed818d9f606fa86b5971a552a6905bf /gcc/cgraphbuild.c
parentc577822ec18dbe068fe0a3d974e64a5afc52f00d (diff)
downloadgcc-9cf4fb5a36f89586c9446b5d4db29a19bd06531b.zip
gcc-9cf4fb5a36f89586c9446b5d4db29a19bd06531b.tar.gz
gcc-9cf4fb5a36f89586c9446b5d4db29a19bd06531b.tar.bz2
cgraphbuild.c (record_eh_tables): Mark personality function as having address taken.
* cgraphbuild.c (record_eh_tables): Mark personality function as having address taken. From-SVN: r174869
Diffstat (limited to 'gcc/cgraphbuild.c')
-rw-r--r--gcc/cgraphbuild.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/gcc/cgraphbuild.c b/gcc/cgraphbuild.c
index eb9da7f..961804b 100644
--- a/gcc/cgraphbuild.c
+++ b/gcc/cgraphbuild.c
@@ -149,9 +149,13 @@ record_eh_tables (struct cgraph_node *node, struct function *fun)
eh_region i;
if (DECL_FUNCTION_PERSONALITY (node->decl))
- ipa_record_reference (node, NULL,
- cgraph_get_create_node (DECL_FUNCTION_PERSONALITY (node->decl)),
- NULL, IPA_REF_ADDR, NULL);
+ {
+ struct cgraph_node *per_node;
+
+ per_node = cgraph_get_create_node (DECL_FUNCTION_PERSONALITY (node->decl));
+ ipa_record_reference (node, NULL, per_node, NULL, IPA_REF_ADDR, NULL);
+ cgraph_mark_address_taken_node (per_node);
+ }
i = fun->eh->region_tree;
if (!i)