Rolling back, as the test fails on one of the buildbots:
authorAlexander Kornienko <alexfh@google.com>
Wed, 25 Jun 2014 15:33:35 +0000 (15:33 +0000)
committerAlexander Kornienko <alexfh@google.com>
Wed, 25 Jun 2014 15:33:35 +0000 (15:33 +0000)
  http://lab.llvm.org:8011/builders/clang-hexagon-elf/builds/13505/steps/check-all/logs/Clang%20Tools%3A%3Ac-style-casts.cpp

llvm-svn: 211708

clang-tools-extra/clang-tidy/google/CMakeLists.txt
clang-tools-extra/clang-tidy/google/CStyleCastsCheck.cpp [deleted file]
clang-tools-extra/clang-tidy/google/CStyleCastsCheck.h [deleted file]
clang-tools-extra/clang-tidy/google/GoogleTidyModule.cpp
clang-tools-extra/test/clang-tidy/c-style-casts.cpp [deleted file]

index 648de8e..3562e52 100644 (file)
@@ -1,7 +1,6 @@
 set(LLVM_LINK_COMPONENTS support)
 
 add_clang_library(clangTidyGoogleModule
-  CStyleCastsCheck.cpp
   ExplicitConstructorCheck.cpp
   GoogleTidyModule.cpp
 
diff --git a/clang-tools-extra/clang-tidy/google/CStyleCastsCheck.cpp b/clang-tools-extra/clang-tidy/google/CStyleCastsCheck.cpp
deleted file mode 100644 (file)
index c52e0d5..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-//===--- CStyleCastsCheck.cpp - clang-tidy ----------------------*- C++ -*-===//
-//
-//                     The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-#include "CStyleCastsCheck.h"
-#include "clang/ASTMatchers/ASTMatchFinder.h"
-#include "clang/ASTMatchers/ASTMatchers.h"
-
-using namespace clang::ast_matchers;
-
-namespace clang {
-namespace tidy {
-namespace readability {
-
-void CStyleCastsCheck::registerMatchers(ast_matchers::MatchFinder *Finder) {
-  Finder->addMatcher(
-      cStyleCastExpr(
-          // Filter out (EnumType)IntegerLiteral construct, which is generated
-          // for non-type template arguments of enum types.
-          // FIXME: Remove this once this is fixed in the AST.
-          unless(allOf(hasDestinationType(hasDeclaration(enumDecl())),
-                       hasSourceExpression(integerLiteral())))).bind("cast"),
-      this);
-}
-
-void CStyleCastsCheck::check(const MatchFinder::MatchResult &Result) {
-  const auto *CastExpr = Result.Nodes.getNodeAs<CStyleCastExpr>("cast");
-
-  // Ignore casts in macros for now.
-  if (CastExpr->getLocStart().isMacroID())
-    return;
-
-  // Casting to void is an idiomatic way to mute "unused variable" and similar
-  // warnings.
-  if (CastExpr->getTypeAsWritten()->isVoidType())
-    return;
-
-  diag(CastExpr->getLocStart(), "C-style casts are discouraged. Use "
-                                "static_cast/const_cast/reinterpret_cast "
-                                "instead.");
-  // FIXME: Suggest appropriate C++ cast. See [expr.cast] for cast notation
-  // semantics.
-}
-
-} // namespace readability
-} // namespace tidy
-} // namespace clang
diff --git a/clang-tools-extra/clang-tidy/google/CStyleCastsCheck.h b/clang-tools-extra/clang-tidy/google/CStyleCastsCheck.h
deleted file mode 100644 (file)
index b6462b3..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-//===--- CStyleCastsCheck.h - clang-tidy ------------------------*- C++ -*-===//
-//
-//                     The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_GOOGLE_C_STYLE_CASTS_CHECK_H
-#define LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_GOOGLE_C_STYLE_CASTS_CHECK_H
-
-#include "../ClangTidy.h"
-
-namespace clang {
-namespace tidy {
-namespace readability {
-
-/// \brief Finds usages of C-style casts.
-///
-/// http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml?showone=Casting#Casting
-/// Corresponding cpplint.py check name: 'readability/casting'.
-class CStyleCastsCheck : public ClangTidyCheck {
-public:
-  void registerMatchers(ast_matchers::MatchFinder *Finder) override;
-  void check(const ast_matchers::MatchFinder::MatchResult &Result) override;
-};
-
-} // namespace readability
-} // namespace tidy
-} // namespace clang
-
-#endif // LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_GOOGLE_C_STYLE_CASTS_CHECK_H
index bafaada..05787cf 100644 (file)
@@ -10,7 +10,6 @@
 #include "../ClangTidy.h"
 #include "../ClangTidyModule.h"
 #include "../ClangTidyModuleRegistry.h"
-#include "CStyleCastsCheck.h"
 #include "ExplicitConstructorCheck.h"
 
 using namespace clang::ast_matchers;
@@ -24,9 +23,6 @@ public:
     CheckFactories.addCheckFactory(
         "google-explicit-constructor",
         new ClangTidyCheckFactory<ExplicitConstructorCheck>());
-    CheckFactories.addCheckFactory(
-        "google-readability-casting",
-        new ClangTidyCheckFactory<readability::CStyleCastsCheck>());
   }
 };
 
diff --git a/clang-tools-extra/test/clang-tidy/c-style-casts.cpp b/clang-tools-extra/test/clang-tidy/c-style-casts.cpp
deleted file mode 100644 (file)
index 8b9feb4..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-// RUN: clang-tidy -checks=-*,google-readability-casting %s -- | FileCheck %s
-
-// CHECK-NOT: warning:
-
-bool g() { return false; }
-
-void f(int a, double b) {
-  int b1 = (int)b;
-  // CHECK: :[[@LINE-1]]:12: warning: C-style casts are discouraged. Use static_cast{{.*}}
-
-  // CHECK-NOT: warning:
-  int b2 = int(b);
-  int b3 = static_cast<double>(b);
-  int b4 = b;
-  double aa = a;
-  (void)b2;
-  return (void)g();
-}
-
-// CHECK-NOT: warning:
-enum E { E1 = 1 };
-template <E e>
-struct A { static const E ee = e; };
-struct B : public A<E1> {};