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

            Bug ID: 90674
           Summary: [7.1 Regression] ICE in gen_subprogram_die
           Product: gcc
           Version: 10.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: debug
          Assignee: unassigned at gcc dot gnu.org
          Reporter: barannikov88 at gmail dot com
  Target Milestone: ---

Thie is a regression introduced in 7.1.

$ cat test.cpp
#include <cstdio>

struct Base {
    virtual ~Base() = default;
};

template<typename T>
struct Derived : Base {
    Derived() {
        std::printf("Derived<T>::Derived()\n");
    }
};

template<>
Derived<int>::Derived();

extern template class Derived<int>;

template class Derived<int>;

template<>
Derived<int>::Derived() = default;

================================================================================
$ g++ -g test.cpp
test.cpp: In constructor ‘Derived<T>::Derived() [with T = int]’:
test.cpp:22:34: internal compiler error: in gen_subprogram_die, at
dwarf2out.c:22966
 Derived<int>::Derived() = default;
                                  ^

Reply via email to