PR c/98198: ICE-on-invalid-code error recovery.
This is Christophe Lyon's fix to PR c/98198, an ICE-on-invalid-code regression affecting mainline, and a suitable testcase. Tested on x86_64-pc-linux-gnu with make bootstrap and make -k check with no new failures. Ok for mainline? 2022-03-16 Christophe Lyon <christophe.lyon@arm.com> Roger Sayle <roger@nextmovesoftware.com> gcc/c-family/ChangeLog PR c/98198 * c-attribs.cc (decl_or_type_attrs): Add error_mark_node check. gcc/testsuite/ChangeLog PR c/98198 * gcc.dg/pr98198.c: New test case.
This commit is contained in:
parent
732e4a75fe
commit
4565a07a64
2 changed files with 9 additions and 0 deletions
|
@ -806,6 +806,8 @@ decl_or_type_attrs (tree node)
|
|||
return attrs;
|
||||
|
||||
tree type = TREE_TYPE (node);
|
||||
if (type == error_mark_node)
|
||||
return NULL_TREE;
|
||||
return TYPE_ATTRIBUTES (type);
|
||||
}
|
||||
|
||||
|
|
7
gcc/testsuite/gcc.dg/pr98198.c
Normal file
7
gcc/testsuite/gcc.dg/pr98198.c
Normal file
|
@ -0,0 +1,7 @@
|
|||
/* { dg-do compile } */
|
||||
static inline void sub_1 ( ) {
|
||||
struct struct_1 var_9 , var_10
|
||||
}
|
||||
|
||||
static int var_9[1] __attribute__ ( ( section ( ".data" ) ) ) ;
|
||||
/* { dg-excess-errors "" } */
|
Loading…
Add table
Reference in a new issue