diff options
author | Richard Smith <richard-llvm@metafoo.co.uk> | 2014-09-29 05:57:29 +0000 |
---|---|---|
committer | Richard Smith <richard-llvm@metafoo.co.uk> | 2014-09-29 05:57:29 +0000 |
commit | 04b35e9beb4144922b68137e21ccb718f1051f11 (patch) | |
tree | 68e95785f42246da6e2088fecab990b26731d346 /clang/lib/Sema/SemaDeclCXX.cpp | |
parent | b1cc7a8542e7f59a23e7b8169b448cbfb77f3976 (diff) | |
download | bcm5719-llvm-04b35e9beb4144922b68137e21ccb718f1051f11.tar.gz bcm5719-llvm-04b35e9beb4144922b68137e21ccb718f1051f11.zip |
Fix "unsupported friend" diagnostic to also appear for friend functions with dependent scopes.
llvm-svn: 218590
Diffstat (limited to 'clang/lib/Sema/SemaDeclCXX.cpp')
-rw-r--r-- | clang/lib/Sema/SemaDeclCXX.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/clang/lib/Sema/SemaDeclCXX.cpp b/clang/lib/Sema/SemaDeclCXX.cpp index acf7f2ac960..16e1b2f6f2c 100644 --- a/clang/lib/Sema/SemaDeclCXX.cpp +++ b/clang/lib/Sema/SemaDeclCXX.cpp @@ -12242,8 +12242,12 @@ NamedDecl *Sema::ActOnFriendFunctionDecl(Scope *S, Declarator &D, } // Mark templated-scope function declarations as unsupported. - if (FD->getNumTemplateParameterLists()) + if (FD->getNumTemplateParameterLists() && SS.isValid()) { + Diag(FD->getLocation(), diag::warn_template_qualified_friend_unsupported) + << SS.getScopeRep() << SS.getRange() + << cast<CXXRecordDecl>(CurContext); FrD->setUnsupportedFriend(true); + } } return ND; |