summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2011-06-09 23:39:54 +0000
committerhubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4>2011-06-09 23:39:54 +0000
commit9be42e8c6b55953a0793a7f8859c50cd0f0792da (patch)
tree0334c2b97ed818d9f606fa86b5971a552a6905bf
parentfa715e07d02a5de6b678715f9f465c805195a354 (diff)
downloadgcc-9be42e8c6b55953a0793a7f8859c50cd0f0792da.tar.gz
* cgraphbuild.c (record_eh_tables): Mark personality function as having
address taken. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@174869 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/cgraphbuild.c10
2 files changed, 12 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index cd42b1afa33..fad5c9d072e 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2011-06-09 Jan Hubicka <jh@suse.cz>
+
+ * cgraphbuild.c (record_eh_tables): Mark personality function as having
+ address taken.
+
2011-06-10 Hans-Peter Nilsson <hp@axis.com>
PR rtl-optimization/49154
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)