aboutsummaryrefslogtreecommitdiff
path: root/clang/test/CodeGenCXX/ms-uneval-context-crash.cpp
blob: b2f7e58381da8155ee6cf944d57d1c42961d89fd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
// RUN: %clang_cc1 -std=c++20 -fms-compatibility -fms-compatibility-version=19.33 -emit-llvm %s -o - -triple=x86_64-windows-msvc | FileCheck %s

template <typename T>
concept C = requires
{
    { T::test([](){}) };
};

template<typename T>
struct Widget {};

template <C T>
struct Widget<T> {};

struct Baz
{
    template<typename F>
    static constexpr decltype(auto) test(F&&) {}
};

void test()
{
    Widget<Baz> w;
}
// CHECK: @"?test@@YAXXZ"