This was fixed by r12-7857: now we properly reject instead of crashing. PR c++/102870
gcc/testsuite/ChangeLog: * g++.dg/cpp0x/variadic184.C: New test. --- gcc/testsuite/g++.dg/cpp0x/variadic184.C | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 gcc/testsuite/g++.dg/cpp0x/variadic184.C diff --git a/gcc/testsuite/g++.dg/cpp0x/variadic184.C b/gcc/testsuite/g++.dg/cpp0x/variadic184.C new file mode 100644 index 00000000000..458357ac5a9 --- /dev/null +++ b/gcc/testsuite/g++.dg/cpp0x/variadic184.C @@ -0,0 +1,12 @@ +// PR c++/102870 +// { dg-do compile { target c++11 } } + +template <typename> struct integer_sequence; +template <typename _Tp, _Tp _Num> +using make_integer_sequence = integer_sequence<_Tp, __integer_pack(_Num)...>; +template <long _Num> +using make_index_sequence = make_integer_sequence<long, _Num>; +template <class> struct Tuple; +template <int... Is> using type = Tuple<make_index_sequence<Is>...>; +template <int... Is> void f() { Tuple<type<Is>>{}; } // { dg-error "parameter packs not expanded" } +int main() { f(); } base-commit: 77906341efc5cb69aada0645c22850bc83c1d42c -- 2.39.1