* decl.c (make_typename_type): s/parameters/arguments/.
[official-gcc.git] / gcc / testsuite / g++.dg / cpp0x / explicit10.C
blobf9f8925d3483f4987bb0e9ef511adbeef7d6e175
1 // DR 1518
2 // { dg-do compile { target c++11 } }
4 struct A {
5   explicit A() = default;
6 };
8 struct B : A {
9   explicit B() = default;
12 struct C {
13   explicit C();
16 struct D : A {
17   C c;
18   explicit D() = default;
21 template<typename T> void f() {
22   T t = {};                     // { dg-error "explicit" }
24 template<typename T> void g() {
25   void x(T t);
26   x({});                        // { dg-error "explicit" }
29 int main()
31   f<A>();                       // { dg-message "required from here" }
32   f<B>();                       // { dg-message "required from here" }
33   f<C>();                       // { dg-message "required from here" }
34   f<D>();                       // { dg-message "required from here" }
36   g<A>();                       // { dg-message "required from here" }
37   g<B>();                       // { dg-message "required from here" }
38   g<C>();                       // { dg-message "required from here" }
39   g<D>();                       // { dg-message "required from here" }