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 ipa/71624] New: [6 regression][7 regression][CHKP] internal compiler error: in duplicate_thunk_for_node


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.

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