[Bug c++/104668] [12 Regression] ICE in lookup_attribute_spec, at attribs.cc:425
cvs-commit at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Wed Apr 6 15:55:37 GMT 2022
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104668
--- Comment #3 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Jakub Jelinek <jakub@gcc.gnu.org>:
https://gcc.gnu.org/g:9fd377a747375a82912bd81c67b275301489785c
commit r12-8029-g9fd377a747375a82912bd81c67b275301489785c
Author: Jakub Jelinek <jakub@redhat.com>
Date: Wed Apr 6 17:53:41 2022 +0200
c++: Fix up ICE when cplus_decl_attributes is called with error_mark_node
attributes [PR104668]
cplus_decl_attributes can be called with attributes equal to
error_mark_node, there are some spots in the function that test
it or decl_attributes it calls starts with:
if (TREE_TYPE (*node) == error_mark_node || attributes ==
error_mark_node)
return NULL_TREE;
But the recent PR104245 change broke this when processing_template_decl
is true.
The patch returns early for attributes error_mark_node from
cplus_decl_attributes.
2022-04-06 Jakub Jelinek <jakub@redhat.com>
PR c++/104668
* decl2.cc (splice_template_attributes): Return NULL if *p is
error_mark_node.
(cplus_decl_attributes): Return early if attributes is
error_mark_node. Don't check that later.
* g++.dg/cpp0x/pr104668.C: New test.
More information about the Gcc-bugs
mailing list