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
diff --git a/clang/lib/Sema/SemaDeclCXX.cpp b/clang/lib/Sema/SemaDeclCXX.cpp
index 47a8492..adbcafe 100644
--- a/clang/lib/Sema/SemaDeclCXX.cpp
+++ b/clang/lib/Sema/SemaDeclCXX.cpp
@@ -1905,6 +1905,12 @@
       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();