Add __builtion_unreachable to vector::size(), vector::capacity()
[official-gcc.git] / gcc / testsuite / g++.dg / cpp1y / pr65340.C
blobe0ce6810906df2b4f4c769295e33d11ea2064458
1 // PR c++/65340
2 // { dg-do compile { target c++14 } }
4 template <typename Type> Type constant;
5 namespace reflect {
6 namespace functors {
7   struct recurse { auto operator()(, ); }; // { dg-error "expected" }
9   auto &recurse = constant < functors :: recurse > ;
11 namespace functors {
12 struct traverse {
13   template <typename Algo, typename Value>
14   auto operator()(Algo, Value) -> decltype(reflect
15                                            :: recurse(0, 0)); // { dg-error "use of" }
18 auto &traverse = constant < functors :: traverse > ;
19 operator()()->decltype(traverse(0, 0))// { dg-error "no match"  }
20 // { dg-error "39:expected" "" { target *-*-* } .-1 }