xref: /llvm-project/clang/test/CodeGenCXX/ms-uneval-context-crash.cpp (revision 95566af789d208b8fc422644ab282a43911041f2)
1 // RUN: %clang_cc1 -std=c++20 -fms-compatibility -fms-compatibility-version=19.33 -emit-llvm %s -o - -triple=x86_64-windows-msvc | FileCheck %s
2 
3 template <typename T>
4 concept C = requires
5 {
6     { T::test([](){}) };
7 };
8 
9 template<typename T>
10 struct Widget {};
11 
12 template <C T>
13 struct Widget<T> {};
14 
15 struct Baz
16 {
17     template<typename F>
18     static constexpr decltype(auto) test(F&&) {}
19 };
20 
21 void test()
22 {
23     Widget<Baz> w;
24 }
25 // CHECK: @"?test@@YAXXZ"
26