PR c++/56973, DR 696 - capture constant variables only as needed.
[official-gcc.git] / gcc / testsuite / g++.dg / cpp1y / var-templ39.C
blob5170a5bda52f27175f214bd0ef85780e09f0e61e
1 // PR c++/66260
2 // { dg-do assemble { target c++14 } }
4 template <class>
5 constexpr bool foo = false;
6 template <>
7 constexpr bool foo<int> = true;
8 template <class T, int N>
9 constexpr bool foo<T[N]> = foo<T>;
11 static_assert(foo<int>, "");
12 static_assert(!foo<double>, "");
13 static_assert(foo<int[3]>, "");
14 static_assert(!foo<double[3]>, "");
15 static_assert(foo<int[2][5][3]>, "");
16 static_assert(!foo<double[2][5][3]>, "");