2 // { dg-do compile { target c++11 } }
3 // { dg-additional-options "-fchecking" }
4 // A version of constexpr-52830.C that uses an intermediate template template
7 template<bool b> struct eif { typedef void type; };
8 template<> struct eif<false> {};
10 template<class A, class B> struct same
12 static constexpr bool value = false;
17 static constexpr bool value = true;
22 template<class T, template<class, class> class SAME = same>
24 typename eif<SAME<decltype(a), int&&>::value>::type * = 0);
27 template<class T, template<class, class> class SAME>
31 typename eif<SAME<decltype(a), int&&>::value>::type * )