diff options
author | Jason Merrill <jason@redhat.com> | 2020-01-27 05:45:01 -0500 |
---|---|---|
committer | Jason Merrill <jason@redhat.com> | 2020-04-27 17:21:56 -0400 |
commit | 5f1cd1da1a805c3d00332da45c3ab78a3931af63 (patch) | |
tree | 4b729b83f175414d577724f14267b6c8fafbacc5 /gcc/fortran/expr.c | |
parent | bb7ed17aa1102de9f99fb9608f1119eb4df613fe (diff) | |
download | gcc-5f1cd1da1a805c3d00332da45c3ab78a3931af63.zip gcc-5f1cd1da1a805c3d00332da45c3ab78a3931af63.tar.gz gcc-5f1cd1da1a805c3d00332da45c3ab78a3931af63.tar.bz2 |
c++: Avoid ICE with dependent attribute on type.
We previously happened to accept this testcase, but never actually did
anything useful with the attribute. The patch for PR86379 stopped using
TREE_TYPE as USING_DECL_SCOPE, so 'using A::b' no longer had TREE_TYPE set,
so the language-independent decl_attributes started crashing on it.
GNU attributes are more flexible in their placement than C++11 attributes,
so if we encounter a dependent GNU attribute that syntactically appertains
to a type rather than the declaration as a whole, move it to the
declaration; that's almost certainly what the user meant, anyway.
gcc/cp/ChangeLog
2020-04-27 Jason Merrill <jason@redhat.com>
PR c++/90750
PR c++/79585
* decl.c (grokdeclarator): Move dependent attribute to decl.
* decl2.c (splice_template_attributes): No longer static.
Diffstat (limited to 'gcc/fortran/expr.c')
0 files changed, 0 insertions, 0 deletions