attribs: Don't diagnose attribute exclusions during error recovery [PR94705]
authorJakub Jelinek <jakub@redhat.com>
Thu, 23 Apr 2020 07:54:14 +0000 (09:54 +0200)
committerJakub Jelinek <jakub@redhat.com>
Thu, 23 Apr 2020 07:54:14 +0000 (09:54 +0200)
commite2a71816b4949225498bec37e947293aa7f5841b
treee4fc947b0d1b948672080b498981a07afe09841d
parent49fc9f36a36e228c4fafb1a6a99fcfef83ff048e
attribs: Don't diagnose attribute exclusions during error recovery [PR94705]

On the following testcase GCC ICEs, because last_decl is error_mark_node,
and diag_attr_exclusions assumes that if it is not NULL, it must be a decl.

The following patch just doesn't diagnose attribute exclusions if the
other decl is erroneous (and thus we've already reported errors for it).

2020-04-23  Jakub Jelinek  <jakub@redhat.com>

PR c/94705
* attribs.c (decl_attribute): Don't diagnose attribute exclusions
if last_decl is error_mark_node or has such a TREE_TYPE.

* gcc.dg/pr94705.c: New test.
gcc/ChangeLog
gcc/attribs.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/pr94705.c [new file with mode: 0644]