* decl.c (make_typename_type): s/parameters/arguments/.
[official-gcc.git] / gcc / testsuite / g++.dg / cpp0x / noexcept15.C
blob5cbbea8a91a42757fc697a61e44d8be70550cfe3
1 // PR c++/50391
2 // { dg-do compile { target c++11 } }
4 #include <type_traits>
6 template<class Tp>
7   struct single
8   {
9     Tp elem;  // { dg-error "incomplete type" }
11     constexpr single(const Tp& e)
12     : elem(e) { }
14     single(single&& s)
15     noexcept(std::is_nothrow_move_constructible<Tp>::value) 
16     : elem(s.elem) { }
17   };
19 template<class Tp>
20   constexpr single<typename std::decay<Tp>::type>
21   make_single(Tp&& x)
22   {
23     return single<typename std::decay<Tp>::type>(x);
24   }
26 class Blob;  // { dg-message "forward declaration" }
28 void
29 foo(Blob *b)
31   make_single(*b);