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

            Bug ID: 97293
           Summary: ICE Segfault in C++20 mode
           Product: gcc
           Version: 10.2.1
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: furkanusta17 at gmail dot com
  Target Milestone: ---

g++ (SUSE Linux) 10.2.1 20200825 
[revision c0746a1beb1ba073c7981eb09f55b3d993b32e5c]


Following compiles with -std=c++17 but fails with 20

g++ -c -std=c++20 main.cpp

template <typename Type>
struct receiver {
  struct type;
};

struct test {
    void operator()(){}
};

template <typename Type>
struct receiver<Type>::type {

  template <typename... Values>
  using func = test;

  void cleanup() noexcept {
    func<>();
  }
};


main.cpp: In substitution of ‘template<class Type> template<class ... Values>
using func = _func [with Values = {}; Type = Type]’:
main.cpp:17:10:   required from here
main.cpp:17:10: internal compiler error: Segmentation fault
   17 |     func<>();
      |          ^



Using gcc-trunk (11.0.0 20201004) in godbolt, it seems to fail with -std=c++17
as well 
https://godbolt.org/z/re7347
  • [Bug c++/97293] New: ICE Segfau... furkanusta17 at gmail dot com via Gcc-bugs

Reply via email to