]> granicus.if.org Git - clang/commitdiff
Do not return true from MergeFunctionDecl for a warn_static_non_static warning in...
authorFrancois Pichet <pichet2000@gmail.com>
Fri, 22 Apr 2011 19:50:06 +0000 (19:50 +0000)
committerFrancois Pichet <pichet2000@gmail.com>
Fri, 22 Apr 2011 19:50:06 +0000 (19:50 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@130010 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Sema/SemaDecl.cpp

index 611031b4bd3cda46305df40996e9b1aa88256dc1..e506dd502a3d380e93780f2243fbdf4175c295f5 100644 (file)
@@ -1258,12 +1258,14 @@ bool Sema::MergeFunctionDecl(FunctionDecl *New, Decl *OldD) {
       New->getStorageClass() == SC_Static &&
       Old->getStorageClass() != SC_Static &&
       !canRedefineFunction(Old, getLangOptions())) {
-    unsigned DiagID = diag::err_static_non_static;
-    if (getLangOptions().Microsoft)
-      DiagID = diag::warn_static_non_static;
-    Diag(New->getLocation(), DiagID) << New;
-    Diag(Old->getLocation(), PrevDiag);
-    return true;
+    if (getLangOptions().Microsoft) {
+      Diag(New->getLocation(), diag::warn_static_non_static) << New;
+      Diag(Old->getLocation(), PrevDiag);
+    } else {
+      Diag(New->getLocation(), diag::err_static_non_static) << New;
+      Diag(Old->getLocation(), PrevDiag);
+      return true;
+    }
   }
 
   // If a function is first declared with a calling convention, but is