]> granicus.if.org Git - clang/commitdiff
remove the 'unused static' diagnostic from codegen. This should be
authorChris Lattner <sabre@nondot.org>
Fri, 25 Apr 2008 15:47:13 +0000 (15:47 +0000)
committerChris Lattner <sabre@nondot.org>
Fri, 25 Apr 2008 15:47:13 +0000 (15:47 +0000)
reimplemented in Sema someday.  This is tracked in PR2236.  Until then
disabling it removes some bogus diagnostics (see 2236).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50263 91177308-0d34-0410-b5e6-96231b3b80d8

include/clang/Basic/DiagnosticKinds.def
lib/CodeGen/CodeGenModule.cpp
test/CodeGen/unusedstatic.c [deleted file]

index a8560e1cb366b168a84c76a65f7b4f18ca035b62..6f58ae1e820c8028f39ea1856797b454f3a6d70a 100644 (file)
@@ -1043,10 +1043,4 @@ DIAG(ext_return_missing_expr, EXTENSION,
 DIAG(ext_return_has_expr, EXTENSION,
      "void function '%0' should not return a value")
 
-//===----------------------------------------------------------------------===//
-// Codegen
-//===----------------------------------------------------------------------===//
-
-DIAG(warn_unused_static, WARNING, "static '%0' defined but not used")
-
 #undef DIAG
index 98a8aaaf86d4d9f07c6cd15673ba3377a3938d35..7e5e8f06b707b4c85e437486f83aea80f95d2b4e 100644 (file)
@@ -355,14 +355,6 @@ void CodeGenModule::EmitStatics() {
       Changed = true;
     }
   } while (Changed);
-  
-  // Warn about all statics that are still unused at end of code generation.
-  for (unsigned i = 0, e = StaticDecls.size(); i != e; ++i) {
-    const NamedDecl *D = StaticDecls[i];
-    std::string Msg = D->getName();
-    getDiags().Report(Context.getFullLoc(D->getLocation()), 
-                      diag::warn_unused_static, &Msg, 1);
-  }
 }
 
 llvm::Constant *CodeGenModule::EmitGlobalInit(const Expr *Expr) {
diff --git a/test/CodeGen/unusedstatic.c b/test/CodeGen/unusedstatic.c
deleted file mode 100644 (file)
index 902596e..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-// RUN: clang %s -emit-llvm -verify
-// PR1998
-// PR2236
-static void a (void);
-void b (void) { a (); }
-static void a(void) {}
-static void c(void) {}  // expected-warning {{static 'c' defined but not used}}