https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106876

            Bug ID: 106876
           Summary: [13 Regression] ICE in extract_insn, at recog.cc:2791
           Product: gcc
           Version: 13.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: gs...@t-online.de
  Target Milestone: ---

Started between 20220508 and 20220515, with file g++.dg/lookup/friend23.C :


$ cat friend23.C
template <class Derived>
struct base {
  friend void bar(Derived& d) {
    d.bar(); // access in inline friend of friend, ok?
  }
};

class derived : base<derived> {
  friend class base<derived>;
  void bar() {}
};

int main() {
  derived d;
  bar(d);
}


$ g++-13-20220904 -c friend23.C -mforce-indirect-call -fPIC -fprofile-generate
friend23.C: In member function 'void derived::bar()':
friend23.C:10:15: error: unrecognizable insn:
   10 |   void bar() {}
      |               ^
(call_insn/u 6 3 7 2 (parallel [
            (set (reg:DI 0 ax)
                (call:DI (mem:QI (symbol_ref:DI ("__tls_get_addr")) [0  S1 A8])
                    (const_int 0 [0])))
            (unspec:DI [
                    (symbol_ref:DI ("__gcov_indirect_call") [flags 0x50]
<var_decl 0x7ff13818c1b0 __gcov_indirect_call>)
                    (reg/f:DI 7 sp)
                ] UNSPEC_TLS_GD)
        ]) -1
     (expr_list:REG_EH_REGION (const_int -2147483648 [0xffffffff80000000])
        (nil))
    (nil))
during RTL pass: vregs
friend23.C:10:15: internal compiler error: in extract_insn, at recog.cc:2791
0x6f0204 _fatal_insn(char const*, rtx_def const*, char const*, int, char
const*)
        ../../gcc/rtl-error.cc:108
0x6f0223 _fatal_insn_not_found(rtx_def const*, char const*, int, char const*)
        ../../gcc/rtl-error.cc:116
0x110e617 extract_insn(rtx_insn*)
        ../../gcc/recog.cc:2791
0xe07089 instantiate_virtual_regs_in_insn
        ../../gcc/function.cc:1660
0xe07089 instantiate_virtual_regs
        ../../gcc/function.cc:1985
0xe07089 execute
        ../../gcc/function.cc:2034

Reply via email to