xref: /llvm-project/clang/test/SemaTemplate/PR77189.cpp (revision c34aa784f8867517315d8ef32a8038ee9dbb7165)
1 // RUN: %clang_cc1 -fsyntax-only -std=c++17 -verify %s
2 // RUN: %clang_cc1 -fsyntax-only -std=c++20 -verify %s
3 // expected-no-diagnostics
4 
5 struct false_type {
6 	static constexpr bool value = false;
7 };
8 
9 struct true_type {
10 	static constexpr bool value = true;
11 };
12 
13 template <auto& Value, int>
14 struct test : false_type {};
15 
16 template <auto& Value>
17 struct test<Value, 0> : true_type {};
18 
main()19 int main() {
20     static constexpr int v = 42;
21     static_assert(test<v, 0>::value);
22 }
23