This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug middle-end/20225] [4.0/4.1 regression] ICE during GC


------- 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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]