https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79931
Bug ID: 79931 Summary: ICE in dump_possible_polymorphic_call_targets with -fdump-ipa-all -O2 Product: gcc Version: 7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: ipa Assignee: unassigned at gcc dot gnu.org Reporter: pinskia at gcc dot gnu.org Target Milestone: --- While adding a new pass, I noticed this ICE (tested with a plain version of GCC also). testcase: class DocumentImpl; struct NodeImpl { virtual DocumentImpl * getOwnerDocument(); virtual NodeImpl * getParentNode(); virtual NodeImpl * removeChild(NodeImpl *oldChild); }; struct AttrImpl : NodeImpl { NodeImpl *insertBefore(NodeImpl *newChild, NodeImpl *refChild); }; struct DocumentImpl : NodeImpl { virtual NodeImpl *removeChild(NodeImpl *oldChild); virtual int* getRanges(); }; NodeImpl *AttrImpl::insertBefore(NodeImpl *newChild, NodeImpl *refChild) { NodeImpl *oldparent = newChild->getParentNode(); oldparent->removeChild(newChild); this->getOwnerDocument()->getRanges(); } --- CUT --- This is reduced from 483.xalancbmk in SPEC CPU 2006. Compile with -fdump-ipa-all -O2 and the ICE will produce.