diff options
author | Jan Hubicka <jh@suse.cz> | 2011-06-10 01:39:54 +0200 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2011-06-09 23:39:54 +0000 |
commit | 9cf4fb5a36f89586c9446b5d4db29a19bd06531b (patch) | |
tree | 0334c2b97ed818d9f606fa86b5971a552a6905bf /gcc | |
parent | c577822ec18dbe068fe0a3d974e64a5afc52f00d (diff) | |
download | gcc-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')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/cgraphbuild.c | 10 |
2 files changed, 12 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index cd42b1a..fad5c9d 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 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) |