This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug middle-end/20991] New: ICE in cgraph_mark_reachable_node
- From: "jakub at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 13 Apr 2005 13:25:17 -0000
- Subject: [Bug middle-end/20991] New: ICE in cgraph_mark_reachable_node
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
Current gcc-4_0-branch (i.e. with PR20635 fix in) ICEs on the attached testcase
at -O3 -m32. It is a recent regression (the assert was added 2005-03-18)
and prevents building Octave.
virtual std::string octave_value::class_name() const (this)
{
...
}
seen in *.generic dump seems to be unused until *.dom1 time (till then
Fissparse uses
arg_106 = &D.101031;
D.141412_107 = arg_106->_vptr.octave_value;
D.141413_108 = D.141412_107 + 468B;
D.141414_109 = *D.141413_108;
OBJ_TYPE_REF(D.141414_109;arg_106->117) (&D.141411, arg_106) [return slot
addr];
and only in the first dominator pass this gets changed into:
arg_175 = &arg;
D.131589_176 = arg._vptr.octave_value;
D.131590_177 = D.131589_176 + 468B;
D.131591_178 = *D.131590_177;
class_name (&D.131588, &arg) [return slot addr];
but cgraph does not know about this call until Fissparse's assembly is emitted.
But at that point cgraph_global_info_ready is already true, therefore the ICE.
--
Summary: ICE in cgraph_mark_reachable_node
Product: gcc
Version: 4.0.0
Status: UNCONFIRMED
Keywords: ice-on-valid-code
Severity: normal
Priority: P2
Component: middle-end
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: jakub at gcc dot gnu dot org
CC: gcc-bugs at gcc dot gnu dot org,hubicka at gcc dot gnu
dot org
GCC target triplet: i386-redhat-linux
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20991