aboutsummaryrefslogtreecommitdiff
path: root/libgo/go/regexp/syntax/regexp.go
diff options
context:
space:
mode:
authorMarek Polacek <polacek@redhat.com>2025-03-17 12:56:40 -0400
committerMarek Polacek <polacek@redhat.com>2025-03-18 16:09:04 -0400
commit6751bd4ac48a8529e2476a6848a77e81de540814 (patch)
tree5c5957dc2f10e2a8a381c72eafbee0f1426c4272 /libgo/go/regexp/syntax/regexp.go
parent57d1424efe934caeda222174a3e8bbc1e5ba65f4 (diff)
downloadgcc-6751bd4ac48a8529e2476a6848a77e81de540814.zip
gcc-6751bd4ac48a8529e2476a6848a77e81de540814.tar.gz
gcc-6751bd4ac48a8529e2476a6848a77e81de540814.tar.bz2
c++: ICE when substituting packs into type aliases [PR118104]
r12-1094 mentions that adding the assert didn't lead to any regressions in the testsuite, but this test case demonstrates that we can reach it with valid code. Here we arrive in use_pack_expansion_extra_args_p with t which is an expansion whose pattern is void(Ts, Us) and tparm packs are {Us, Ts}, and parm_packs is { Ts -> <int, int>, Us -> <A, P...> }. We want to expand the pack into void(int, A) and void(int, P...). We compare int to A, which is fine, but then int to P... which crashes. But the code is valid so this patch removes the assert. PR c++/118104 gcc/cp/ChangeLog: * pt.cc (use_pack_expansion_extra_args_p): Remove an assert. gcc/testsuite/ChangeLog: * g++.dg/cpp0x/alias-decl-variadic3.C: New test. Reviewed-by: Jason Merrill <jason@redhat.com>
Diffstat (limited to 'libgo/go/regexp/syntax/regexp.go')
0 files changed, 0 insertions, 0 deletions