* decl.c (make_typename_type): s/parameters/arguments/.
[official-gcc.git] / gcc / testsuite / g++.dg / cpp0x / sfinae34.C
blob615a2bc9b50d6c62babfa89dc17ad0895e4fd2d1
1 // PR c++/52422
2 // { dg-do compile { target c++11 } }
4 template<class T>
5 struct add_rval_ref
7   typedef T&& type;
8 };
10 template<>
11 struct add_rval_ref<void>
13   typedef void type;
16 template<class T>
17 typename add_rval_ref<T>::type create();
19 template<class T, class U,
20   class = decltype( (create<T>().*create<U>())() )
22 auto f(int) -> char(&)[1];
24 template<class, class>
25 auto f(...) -> char(&)[2];
27 static_assert(sizeof(f<void, void>(0)) != 1, "");