Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/g++.dg/cpp0x/variadic92.C @ 131:84e7813d76e9
gcc-8.2
author | mir3636 |
---|---|
date | Thu, 25 Oct 2018 07:37:49 +0900 |
parents | 04ced10e8804 |
children |
line wrap: on
line source
// Various tests for variadic templates and partial specialization. // { dg-do compile { target c++11 } } // PR c++/36846 template<typename A, typename B> struct pair; template<typename... T> struct pairs; template<typename... AS, typename... BS> struct pairs<pair<AS, BS>...> { struct mismatched_packs {}; }; template class pairs< pair<int, int>, pair<int, int> >; template<int A, int B> struct point; template<typename... T> struct points; template<int... AS, int... BS> struct points<point<AS, BS>...> { struct mismatched_packs {}; }; template class points< point<0, 1>, point<0, 1> >; // PR c++/35477 template <class...ARGS> struct tuple {}; template <class A, class B> struct test {}; template <class... ARGS, class B> struct test<B, tuple<ARGS...>> { template <class T> struct inside {}; }; // PR c++/38276 template<typename...> struct A; template<typename, typename> struct B; template<typename... T, typename... U> struct B<A<T...>, A<U...> > { static int i; }; B<A<>, A<int> > b1; B<A<int>, A<> > b2; // PR c++/35784 template <typename...> struct p; template <typename, typename> struct d; template <typename... A, typename... B> struct d<p<A...>, p<B...> > { typedef int t; }; typedef d<p<>, p<int, float> >::t q; typedef d<q, d<p<int>, p<float> >::t> r; // * typedef d<d<p<>, p<int, float> >::t, d<p<>, p<> >::t> s;