https://bugs.llvm.org/show_bug.cgi?id=49741

            Bug ID: 49741
           Summary: Static member auto variable template with
                    template-template parameter, inside struct with
                    template-template parameter, crashes compiler
           Product: clang
           Version: unspecified
          Hardware: PC
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: Frontend
          Assignee: [email protected]
          Reporter: [email protected]
                CC: [email protected], [email protected],
                    [email protected]

Created attachment 24697
  --> https://bugs.llvm.org/attachment.cgi?id=24697&action=edit
Compiler crash backtrace

See attachment for compiler backtrace.

Affected versions:
 - trunk
 - 11.0.1
 - 11.0.0
 - 10.0.1
 - 10.0.0
 - 9.0.1
 - 9.0.0

Driver cmdline:
Note: For versions that do not support -std=c++20, -std=c++2a was used.

clang++ -Xclang -disable-llvm-passes -std=c++20


Note: The original code has been reduced with creduce.
Reduced code:

template <template <typename> typename> struct a {
  template <template <typename> typename> static auto const b = false;
};
template <typename> struct c;
int main() { a<c>::b<c>; }


Original code:

template<template<typename...> typename T>
struct Receiver {
 template<template<typename...> typename Other>
 static constexpr auto const value = false;
};

template<typename...>
struct A;

void f(auto) {}

int main() {
 f(Receiver<A>::value<A>);
 return 0;
}

-- 
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to