PR c++/85553
[official-gcc.git] / gcc / testsuite / g++.dg / ext / constexpr-vla2.C
blobd4ea7c58c0d8d051adbbeca8b3545158ca26747e
1 // PR c++/69509
2 // { dg-do compile { target c++14 } }
4 constexpr int
5 fn_bad (int n)
7   __extension__ int a [n] = { 0 };
8   int z = a [0] + (n ? fn_bad (n - 1) : 0); // { dg-message "in .constexpr. expansion of " } 
9   return z;
12 constexpr int
13 fn_ok (int n)
15   __extension__ int a [n] = { 0 };
16   int z = a [0] + (n > 1 ? fn_ok (n - 1) : 0);
17   return z;
20 constexpr int i1 = fn_ok (3);
21 constexpr int i2 = fn_bad (3); // { dg-error "array subscript|in .constexpr. expansion of " }