https://gcc.gnu.org/bugzilla/show_bug.cgi?id=57012
Jonathan Wakely <redi at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Ever confirmed|0 |1 Last reconfirmed| |2021-08-10 See Also| |https://gcc.gnu.org/bugzill | |a/show_bug.cgi?id=54948 --- Comment #1 from Jonathan Wakely <redi at gcc dot gnu.org> --- GCC improved error recovery with r219067 so that now it just prints one error: gcc/testsuite/g++.dg/cpp0x/pr31432.C:2:10: error: parameter pack ‘<template-parameter-1-1>’ must be at the end of the template parameter list 2 | template<typename..., typename> struct A // { dg-error "parameter pack" } | ^~~~~~~~ Printing "<template-parameter-1-1>" is still not pretty. See also PR 54948 and PR 101844. If the template parameter (or template parameter pack) hasn't got a name, maybe we should not try to print it. The caret location already shows which pack we're talking about. If it's unnamed, maybe special case the diagnostic so it just says "parameter pack must be at the end ..." instead of making up a name which doesn't appear in the source code.