https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96637
--- Comment #3 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The trunk branch has been updated by Marek Polacek <mpola...@gcc.gnu.org>: https://gcc.gnu.org/g:da2c56ee601ac696a76e469e33c88313428c5c5a commit r13-770-gda2c56ee601ac696a76e469e33c88313428c5c5a Author: Marek Polacek <pola...@redhat.com> Date: Thu Apr 28 13:21:41 2022 -0400 c++: fix ICE on invalid attributes [PR96637] When chaining attributes, attr_chainon should be used rather than plain chainon, so that we don't end up with a TREE_LIST where one of the elements is error_mark_node, which causes problems. parser.cc has already been fixed to use attr_chainon, but decl.cc has not. Until now. PR c++/96637 gcc/cp/ChangeLog: * cp-tree.h (attr_chainon): Declare. * decl.cc (start_decl): Use attr_chainon. (grokdeclarator): Likewise. * parser.cc (cp_parser_statement): No longer static. gcc/testsuite/ChangeLog: * g++.dg/parse/error64.C: New test.