diff options
author | Fariborz Jahanian <fjahanian@apple.com> | 2014-10-31 19:56:27 +0000 |
---|---|---|
committer | Fariborz Jahanian <fjahanian@apple.com> | 2014-10-31 19:56:27 +0000 |
commit | 6e21338abb6e4017a30323943daf074917601dd1 (patch) | |
tree | 5509e0d6333a6da731983b1ca8c6bfdd24ca6337 /clang/lib/Sema/SemaDeclCXX.cpp | |
parent | 40aa4a26d156a546604b0c7f88905de9eae07f96 (diff) | |
download | bcm5719-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.cpp | 6 |
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(); |