Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/g++.dg/cpp0x/alias-decl-44.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
// PR c++/63849 // { dg-do compile { target c++11 } } template <class _T, class...> using First = _T; // we should not use this // alias with only // one pack parameter (?) template <template <class...> class _Successor, int, class... _Xs> struct Overlay { using O = _Successor<_Xs...>; }; template <class... _Pack> struct List { template <int _s> using O = typename Overlay<List, _s, _Pack...>::O; template <template <class...> class _S> using Pass = _S<_Pack...>; template <int _i> using At = typename O<_i> ::template Pass<First>; }; template <int _i> using At = typename List<int, char> ::template At<_i>; template <int _i> void func_crash(At<_i>&) {} int main(int argc, char *argv[]) { char ccc; int iii; func_crash<0>(iii); }