This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug middle-end/20225] [4.0/4.1 regression] ICE during GC
- From: "rth at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 10 Mar 2005 13:37:40 -0000
- Subject: [Bug middle-end/20225] [4.0/4.1 regression] ICE during GC
- References: <20050226232106.20225.schwab@suse.de>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From rth at gcc dot gnu dot org 2005-03-10 13:37 -------
The problem appears to be unrelated to the referenced patch.
Debugging shows that we have a node that has been removed from the cgraph_nodes
list. Because the node is not on the cgraph_nodes list, the
node->prev->next == node invariant does not hold, and so the code generated by the
chain_next/chain_prev GTY annotations segfaults.
The node is still reachable from another node's next_needed, which seems like the
real bug. Honza agreed to work on the problem on IRC.
The easiest way to show the problem is to manually add
if (x != NULL && x != (void *)1 && x->previous == NULL && x != cgraph_nodes)
abort ();
to gt_ggc_mx_cgraph_node.
--
What |Removed |Added
----------------------------------------------------------------------------
AssignedTo|rth at gcc dot gnu dot org |jh at suse dot cz
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20225