]> git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/testsuite/g++.dg/cpp1y/static_assert1.C
trans.c (check_inlining_for_nested_subprog): Quote reserved names.
[thirdparty/gcc.git] / gcc / testsuite / g++.dg / cpp1y / static_assert1.C
1 // { dg-do compile }
2 // { dg-options "-std=gnu++14 -pedantic" }
3
4 template<typename T>
5 struct is_float
6 {
7 static constexpr bool value = false;
8 };
9
10 template<>
11 struct is_float<float>
12 {
13 static constexpr bool value = true;
14 };
15
16 template<typename T>
17 T
18 float_thing(T __x)
19 {
20 static_assert(is_float<T>::value, ""); // { dg-error "static assertion failed" }
21 static_assert(is_float<T>::value); // { dg-error "static assertion failed" }
22 return T();
23 }
24
25 int
26 main()
27 {
28 float_thing(1);
29 }
30
31 // { dg-warning "'static_assert' without a message only available with " "" { target *-*-* } 21 }