aboutsummaryrefslogtreecommitdiff
path: root/gcc/ipa.c
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2010-02-20 10:08:20 +1030
committerAlan Modra <amodra@gcc.gnu.org>2010-02-20 10:08:20 +1030
commit715a4e08d04dbefdf690ee11bb07521ad8a6b6ea (patch)
tree4156f0a5645b211f5f05d7ffb8bef1344cef32d4 /gcc/ipa.c
parentad3b056c2757bf130f4b88c85d734137768a6410 (diff)
downloadgcc-715a4e08d04dbefdf690ee11bb07521ad8a6b6ea.zip
gcc-715a4e08d04dbefdf690ee11bb07521ad8a6b6ea.tar.gz
gcc-715a4e08d04dbefdf690ee11bb07521ad8a6b6ea.tar.bz2
re PR middle-end/42344 (ICE in rs6000.md with ipa-sra for 252.eon)
PR middle-end/42344 * cgraph.h (cgraph_make_decl_local): Declare. * cgraph.c (cgraph_make_decl_local): New function. (cgraph_make_node_local): Use it. * cgraphunit.c (cgraph_function_versioning): Likewise. * ipa.c (function_and_variable_visibility): Likewise. From-SVN: r156914
Diffstat (limited to 'gcc/ipa.c')
-rw-r--r--gcc/ipa.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/gcc/ipa.c b/gcc/ipa.c
index 1230448..63de1d9 100644
--- a/gcc/ipa.c
+++ b/gcc/ipa.c
@@ -400,9 +400,7 @@ function_and_variable_visibility (bool whole_program)
&& !DECL_EXTERNAL (node->decl))
{
gcc_assert (whole_program || !TREE_PUBLIC (node->decl));
- TREE_PUBLIC (node->decl) = 0;
- DECL_COMDAT (node->decl) = 0;
- DECL_WEAK (node->decl) = 0;
+ cgraph_make_decl_local (node->decl);
}
node->local.local = (cgraph_only_called_directly_p (node)
&& node->analyzed
@@ -431,8 +429,7 @@ function_and_variable_visibility (bool whole_program)
if (!vnode->externally_visible)
{
gcc_assert (whole_program || !TREE_PUBLIC (vnode->decl));
- TREE_PUBLIC (vnode->decl) = 0;
- DECL_COMMON (vnode->decl) = 0;
+ cgraph_make_decl_local (vnode->decl);
}
gcc_assert (TREE_STATIC (vnode->decl));
}