* decl.c (make_typename_type): s/parameters/arguments/.
[official-gcc.git] / gcc / testsuite / g++.dg / cpp0x / constexpr-diag1.C
blobccb8d81adca6054a075a67b0b44cf22f46d21fbb
1 // Test that we explain why a template instantiation isn't constexpr
2 // { dg-do compile { target c++11 } }
4 template <class T>
5 struct A
7   T t;
8   constexpr int f() const { return 42; } // { dg-error "enclosing class" "" { target c++11_only } }
9 };
11 struct B { B(); operator int(); };
13 constexpr A<int> ai = { 42 };
14 constexpr int i = ai.f();
16 constexpr int b = A<B>().f();   // { dg-error "" }
18 template <class T>
19 constexpr int f (T t) { return 42; }
20 constexpr int x = f(B());            // { dg-error "non-literal" }