https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71624
Bug ID: 71624 Summary: [6 regression][7 regression][CHKP] internal compiler error: in duplicate_thunk_for_node Product: gcc Version: 7.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: ipa Assignee: unassigned at gcc dot gnu.org Reporter: ienkovich at gcc dot gnu.org Target Milestone: --- Here is a small test causing ICE: >cat small.cc class c1 { public: virtual int fn1 () const; int fn2 (const int *) const; }; class c2 { int fn1 (); c1 obj; }; int c1::fn1 () const { return 0; } int c1::fn2 (const int *) const { return this->fn1 (); } int c2::fn1 () { return obj.fn2 (0); } >g++ -O2 -mmpx -fcheck-pointer-bounds small.cc -S small.cc:30:1: internal compiler error: in duplicate_thunk_for_node, at cgraphclones.c:321 } ^ 0x9350ca duplicate_thunk_for_node /export/users/gnutester/stability/svn/trunk/gcc/cgraphclones.c:321 0x93524f cgraph_edge::redirect_callee_duplicating_thunks(cgraph_node*) /export/users/gnutester/stability/svn/trunk/gcc/cgraphclones.c:355 0x93550b cgraph_node::create_clone(tree_node*, long, int, bool, vec<cgraph_edge*, va_heap, vl_ptr>, bool, cgraph_node*, bitmap_head*) /export/users/gnutester/stability/svn/trunk/gcc/cgraphclones.c:477 0x93585b cgraph_node::create_virtual_clone(vec<cgraph_edge*, va_heap, vl_ptr>, vec<ipa_replace_map*, va_gc, vl_embed>*, bitmap_head*, char const*) /export/users/gnutester/stability/svn/trunk/gcc/cgraphclones.c:578 0x140a7fc create_specialized_node /export/users/gnutester/stability/svn/trunk/gcc/ipa-cp.c:3473 0x140c1bb decide_whether_version_node /export/users/gnutester/stability/svn/trunk/gcc/ipa-cp.c:4392 0x140c1bb ipcp_decision_stage /export/users/gnutester/stability/svn/trunk/gcc/ipa-cp.c:4504 0x140c1bb ipcp_driver /export/users/gnutester/stability/svn/trunk/gcc/ipa-cp.c:4618 0x140c1bb execute /export/users/gnutester/stability/svn/trunk/gcc/ipa-cp.c:4708 Looks like we are trying to propagate through instrumentation thunk which is supposed to be restricted.