diff options
author | Richard Smith <richard@metafoo.co.uk> | 2020-01-30 17:42:17 -0800 |
---|---|---|
committer | Richard Smith <richard@metafoo.co.uk> | 2020-01-30 17:43:48 -0800 |
commit | 0ce7ea7c6e0e6fde5c961a574592bdd2ebebdeb7 (patch) | |
tree | e62f990cf0e494e164c321b470a8912c89058a09 /clang/lib/Parse/ParseDeclCXX.cpp | |
parent | 800395c54754c04a761b1bb6360bb4b2dc2935f4 (diff) | |
download | bcm5719-llvm-0ce7ea7c6e0e6fde5c961a574592bdd2ebebdeb7.tar.gz bcm5719-llvm-0ce7ea7c6e0e6fde5c961a574592bdd2ebebdeb7.zip |
PR41991: Accept attributes on defaulted and deleted friends.
Attributes are permitted on friend definitions, but we only checked for
a proper function body, not for the =default / =delete cases.
(cherry picked from commit 5ae6554a1dcd2e39346030c06d364492901c9e8d)
Diffstat (limited to 'clang/lib/Parse/ParseDeclCXX.cpp')
-rw-r--r-- | clang/lib/Parse/ParseDeclCXX.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/clang/lib/Parse/ParseDeclCXX.cpp b/clang/lib/Parse/ParseDeclCXX.cpp index f872aa3a950..09e5c7996fc 100644 --- a/clang/lib/Parse/ParseDeclCXX.cpp +++ b/clang/lib/Parse/ParseDeclCXX.cpp @@ -2716,7 +2716,7 @@ Parser::ParseCXXClassMemberDeclaration(AccessSpecifier AS, // C++11 [dcl.attr.grammar] p4: If an attribute-specifier-seq appertains // to a friend declaration, that declaration shall be a definition. if (DeclaratorInfo.isFunctionDeclarator() && - DefinitionKind != FDK_Definition && DS.isFriendSpecified()) { + DefinitionKind == FDK_Declaration && DS.isFriendSpecified()) { // Diagnose attributes that appear before decl specifier: // [[]] friend int foo(); ProhibitAttributes(FnAttrs); |