aboutsummaryrefslogtreecommitdiff
path: root/gcc/varpool.c
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2010-05-20 16:57:27 +0200
committerJan Hubicka <hubicka@gcc.gnu.org>2010-05-20 14:57:27 +0000
commita14f187843d81107e4100e6934c59480d2a26007 (patch)
treed2568f6b58e3ac9afbc0611694d00ca312fccdf0 /gcc/varpool.c
parentab6bfd90cb6aac5628a32d063de4ae33a8828ae1 (diff)
downloadgcc-a14f187843d81107e4100e6934c59480d2a26007.zip
gcc-a14f187843d81107e4100e6934c59480d2a26007.tar.gz
gcc-a14f187843d81107e4100e6934c59480d2a26007.tar.bz2
re PR middle-end/44197 ([4.6 Regresssion] varpool SEGV)
PR middle-end/44197 * varpool.c (varpool_remove_node): Handle in-varpool aliases. * gcc.c-torture/compile/pr44197.c: New file. From-SVN: r159629
Diffstat (limited to 'gcc/varpool.c')
-rw-r--r--gcc/varpool.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/varpool.c b/gcc/varpool.c
index c713a77..7185c85 100644
--- a/gcc/varpool.c
+++ b/gcc/varpool.c
@@ -167,7 +167,7 @@ varpool_remove_node (struct varpool_node *node)
node->prev->next = node->next;
else
{
- if (node->alias)
+ if (node->alias && node->extra_name)
{
gcc_assert (node->extra_name->extra_name == node);
node->extra_name->extra_name = node->next;