c++: Add fixed test [PR102870]
authorMarek Polacek <polacek@redhat.com>
Tue, 31 Jan 2023 18:27:21 +0000 (13:27 -0500)
committerMarek Polacek <polacek@redhat.com>
Tue, 31 Jan 2023 18:27:57 +0000 (13:27 -0500)
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 [new file with mode: 0644]

diff --git a/gcc/testsuite/g++.dg/cpp0x/variadic184.C b/gcc/testsuite/g++.dg/cpp0x/variadic184.C
new file mode 100644 (file)
index 0000000..458357a
--- /dev/null
@@ -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(); }