aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp/pt.cc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/cp/pt.cc')
-rw-r--r--gcc/cp/pt.cc11
1 files changed, 10 insertions, 1 deletions
diff --git a/gcc/cp/pt.cc b/gcc/cp/pt.cc
index 50eda18..538ff22 100644
--- a/gcc/cp/pt.cc
+++ b/gcc/cp/pt.cc
@@ -13180,7 +13180,16 @@ use_pack_expansion_extra_args_p (tree t,
if (has_expansion_arg && has_non_expansion_arg)
{
- gcc_checking_assert (false);
+ /* We can get here with:
+
+ template <class... Ts> struct X {
+ template <class... Us> using Y = Z<void(Ts, Us)...>;
+ };
+ template <class A, class... P>
+ using foo = X<int, int>::Y<A, P...>;
+
+ where we compare int and A and then the second int and P...,
+ whose expansion-ness doesn't match, but that's OK. */
return true;
}
}