summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/SemaDeclCXX.cpp
diff options
context:
space:
mode:
authorRichard Smith <richard-llvm@metafoo.co.uk>2014-09-29 05:57:29 +0000
committerRichard Smith <richard-llvm@metafoo.co.uk>2014-09-29 05:57:29 +0000
commit04b35e9beb4144922b68137e21ccb718f1051f11 (patch)
tree68e95785f42246da6e2088fecab990b26731d346 /clang/lib/Sema/SemaDeclCXX.cpp
parentb1cc7a8542e7f59a23e7b8169b448cbfb77f3976 (diff)
downloadbcm5719-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.cpp6
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;
OpenPOWER on IntegriCloud