Commit 4074f163 by Jakub Jelinek Committed by Jakub Jelinek

re PR middle-end/48044 (ICE in function_and_variable_visibility, at ipa.c:875)

	PR middle-end/48044
	* ipa.c (cgraph_remove_unreachable_nodes): Enqueue
	all vnode->force_output nodes as needed.

	* gcc.dg/torture/pr48044.c: New test.

From-SVN: r170873
parent 30f7cdcd
2011-03-11 Jakub Jelinek <jakub@redhat.com>
PR middle-end/48044
* ipa.c (cgraph_remove_unreachable_nodes): Enqueue
all vnode->force_output nodes as needed.
2011-03-11 Jason Merrill <jason@redhat.com> 2011-03-11 Jason Merrill <jason@redhat.com>
PR c++/48069 PR c++/48069
......
/* Basic IPA optimizations and utilities. /* Basic IPA optimizations and utilities.
Copyright (C) 2003, 2004, 2005, 2007, 2008, 2009, 2010 Copyright (C) 2003, 2004, 2005, 2007, 2008, 2009, 2010, 2011
Free Software Foundation, Inc. Free Software Foundation, Inc.
This file is part of GCC. This file is part of GCC.
...@@ -259,7 +259,7 @@ cgraph_remove_unreachable_nodes (bool before_inlining_p, FILE *file) ...@@ -259,7 +259,7 @@ cgraph_remove_unreachable_nodes (bool before_inlining_p, FILE *file)
{ {
vnode->next_needed = NULL; vnode->next_needed = NULL;
vnode->prev_needed = NULL; vnode->prev_needed = NULL;
if (vnode->analyzed if ((vnode->analyzed || vnode->force_output)
&& !varpool_can_remove_if_no_refs (vnode)) && !varpool_can_remove_if_no_refs (vnode))
{ {
vnode->needed = false; vnode->needed = false;
......
2011-03-11 Jakub Jelinek <jakub@redhat.com>
PR middle-end/48044
* gcc.dg/torture/pr48044.c: New test.
2011-03-11 Janus Weil <janus@gcc.gnu.org> 2011-03-11 Janus Weil <janus@gcc.gnu.org>
PR fortran/47768 PR fortran/47768
......
/* PR middle-end/48044 */
/* { dg-do compile } */
/* { dg-require-alias "" } */
int a __asm__ ("b") = 0;
extern int c __asm__ ("a") __attribute__ ((alias ("b")));
extern int d __attribute__ ((weak, alias ("a")));
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment