diff options
Diffstat (limited to 'gcc/cp/pt.cc')
-rw-r--r-- | gcc/cp/pt.cc | 11 |
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; } } |