aboutsummaryrefslogtreecommitdiff
path: root/gcc/cgraphbuild.c
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2011-06-09 23:39:54 +0000
committerJan Hubicka <jh@suse.cz>2011-06-09 23:39:54 +0000
commit0d9b51598463bc705a4fd4f15cf6b23bb6e2f0e0 (patch)
tree0334c2b97ed818d9f606fa86b5971a552a6905bf /gcc/cgraphbuild.c
parentaed6902a3151826a30900c36667978c94f5a191b (diff)
* cgraphbuild.c (record_eh_tables): Mark personality function as having
address taken. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@174869 138bc75d-0d04-0410-961f-82ee72b054a4
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 eb9da7fc16c..961804b415e 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)