[Bug c++/114992] New: ICE during IPA pass: targetclone in add_to_same_comdat_group, at symtab.cc:492

wickmarkus86 at gmail dot com gcc-bugzilla@gcc.gnu.org
Wed May 8 18:06:31 GMT 2024


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

            Bug ID: 114992
           Summary: ICE during IPA pass: targetclone in
                    add_to_same_comdat_group, at symtab.cc:492
           Product: gcc
           Version: 14.1.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: wickmarkus86 at gmail dot com
  Target Milestone: ---

Created attachment 58133
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=58133&action=edit
outcome of -freport-bug

Since GCC 13.1, my minimal reproducible example triggers an ICE, reproducable
here: https://gcc.godbolt.org/z/vYK3TvE6j

Thanks a lot for looking at this issue!

------------------------------------------------------------------

template <typename Callable> void helper_func(Callable) {}

template <typename Callable> __attribute__((target_clones("avx2", "default")))
void handler(Callable outer_callback) {
  outer_callback();
}

class InnerClass {
public:
  template <typename Callable> void inner_callback(Callable){};

  void func() {
    helper_func([&](int) {});
    auto outer_callback = [this]() { inner_callback([]() {}); };
    handler(outer_callback);
  }
};

class OuterClass {
public:
  void func();

  InnerClass inner;
};

void OuterClass::func() { inner.func(); }


More information about the Gcc-bugs mailing list