diff options
Diffstat (limited to 'gcc/testsuite/g++.dg/cpp0x/alias-decl-21.C')
-rw-r--r-- | gcc/testsuite/g++.dg/cpp0x/alias-decl-21.C | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.dg/cpp0x/alias-decl-21.C b/gcc/testsuite/g++.dg/cpp0x/alias-decl-21.C new file mode 100644 index 000000000..463f539d3 --- /dev/null +++ b/gcc/testsuite/g++.dg/cpp0x/alias-decl-21.C @@ -0,0 +1,23 @@ +// PR c++/54575 +// { dg-do compile { target c++11 } } + +template<typename _From, typename _To> +struct is_convertible { static const bool value = true; }; + +template<bool> struct enable_if { }; +template<> struct enable_if<true> { typedef int type; }; + +template<typename _InIter> +using _RequireInputIter += typename enable_if<is_convertible<_InIter,bool>::value>::type; + +template<typename _Tp> struct X { + template<typename _InputIterator, + typename = _RequireInputIter<_InputIterator>> + void insert(_InputIterator) {} +}; + +template<typename> void foo() { + X<int> subdomain_indices; + subdomain_indices.insert(0); +} |