summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/SemaDeclCXX.cpp
diff options
context:
space:
mode:
authorFariborz Jahanian <fjahanian@apple.com>2014-10-31 19:56:27 +0000
committerFariborz Jahanian <fjahanian@apple.com>2014-10-31 19:56:27 +0000
commit6e21338abb6e4017a30323943daf074917601dd1 (patch)
tree5509e0d6333a6da731983b1ca8c6bfdd24ca6337 /clang/lib/Sema/SemaDeclCXX.cpp
parent40aa4a26d156a546604b0c7f88905de9eae07f96 (diff)
downloadbcm5719-llvm-6e21338abb6e4017a30323943daf074917601dd1.tar.gz
bcm5719-llvm-6e21338abb6e4017a30323943daf074917601dd1.zip
C++-11 [qoi]. Do not warn on missing 'verride' on use of
macros in user code when macros themselves are defined in a system header. rdar://18295240 llvm-svn: 220992
Diffstat (limited to 'clang/lib/Sema/SemaDeclCXX.cpp')
-rw-r--r--clang/lib/Sema/SemaDeclCXX.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/clang/lib/Sema/SemaDeclCXX.cpp b/clang/lib/Sema/SemaDeclCXX.cpp
index 47a84927268..adbcafe4339 100644
--- a/clang/lib/Sema/SemaDeclCXX.cpp
+++ b/clang/lib/Sema/SemaDeclCXX.cpp
@@ -1905,6 +1905,12 @@ void Sema::DiagnoseAbsenceOfOverrideControl(NamedDecl *D) {
isa<CXXDestructorDecl>(MD))
return;
+ if (MD->getLocation().isMacroID()) {
+ SourceLocation MacroLoc = getSourceManager().getSpellingLoc(MD->getLocation());
+ if (getSourceManager().isInSystemHeader(MacroLoc))
+ return;
+ }
+
if (MD->size_overridden_methods() > 0) {
Diag(MD->getLocation(), diag::warn_function_marked_not_override_overriding)
<< MD->getDeclName();
OpenPOWER on IntegriCloud