diff options
author | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-06-09 23:39:54 +0000 |
---|---|---|
committer | hubicka <hubicka@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-06-09 23:39:54 +0000 |
commit | 9be42e8c6b55953a0793a7f8859c50cd0f0792da (patch) | |
tree | 0334c2b97ed818d9f606fa86b5971a552a6905bf /gcc/cgraphbuild.c | |
parent | fa715e07d02a5de6b678715f9f465c805195a354 (diff) | |
download | gcc-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
Diffstat (limited to 'gcc/cgraphbuild.c')
-rw-r--r-- | gcc/cgraphbuild.c | 10 |
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) |