Reverting r343415 as it breaks at least one of the bots.
http://lab.llvm.org:8011/builders/llvm-clang-lld-x86_64-scei-ps4-ubuntu-fast/builds/37336 llvm-svn: 343418
This commit is contained in:
parent
c2fc53ac90
commit
873a50901b
|
@ -1,8 +1,10 @@
|
|||
add_subdirectory(clang-apply-replacements)
|
||||
add_subdirectory(clang-reorder-fields)
|
||||
add_subdirectory(modularize)
|
||||
if(CLANG_ENABLE_STATIC_ANALYZER)
|
||||
add_subdirectory(clang-tidy)
|
||||
add_subdirectory(clang-tidy-vs)
|
||||
endif()
|
||||
|
||||
add_subdirectory(change-namespace)
|
||||
add_subdirectory(clang-doc)
|
||||
|
|
|
@ -21,17 +21,12 @@ add_clang_library(clangTidy
|
|||
clangLex
|
||||
clangRewrite
|
||||
clangSema
|
||||
clangStaticAnalyzerCore
|
||||
clangStaticAnalyzerFrontend
|
||||
clangTooling
|
||||
clangToolingCore
|
||||
)
|
||||
|
||||
if(CLANG_ENABLE_STATIC_ANALYZER)
|
||||
target_link_libraries(clangTidy PRIVATE
|
||||
clangStaticAnalyzerCore
|
||||
clangStaticAnalyzerFrontend
|
||||
)
|
||||
endif()
|
||||
|
||||
add_subdirectory(android)
|
||||
add_subdirectory(abseil)
|
||||
add_subdirectory(boost)
|
||||
|
@ -44,9 +39,7 @@ add_subdirectory(hicpp)
|
|||
add_subdirectory(llvm)
|
||||
add_subdirectory(misc)
|
||||
add_subdirectory(modernize)
|
||||
if(CLANG_ENABLE_STATIC_ANALYZER)
|
||||
add_subdirectory(mpi)
|
||||
endif()
|
||||
add_subdirectory(mpi)
|
||||
add_subdirectory(objc)
|
||||
add_subdirectory(performance)
|
||||
add_subdirectory(plugin)
|
||||
|
|
|
@ -34,10 +34,8 @@
|
|||
#include "clang/Lex/Preprocessor.h"
|
||||
#include "clang/Rewrite/Frontend/FixItRewriter.h"
|
||||
#include "clang/Rewrite/Frontend/FrontendActions.h"
|
||||
#if CLANG_ENABLE_STATIC_ANALYZER
|
||||
#include "clang/StaticAnalyzer/Core/BugReporter/PathDiagnostic.h"
|
||||
#include "clang/StaticAnalyzer/Frontend/AnalysisConsumer.h"
|
||||
#endif // CLANG_ENABLE_STATIC_ANALYZER
|
||||
#include "clang/Tooling/DiagnosticsYaml.h"
|
||||
#include "clang/Tooling/Refactoring.h"
|
||||
#include "clang/Tooling/ReplacementsYaml.h"
|
||||
|
@ -58,7 +56,6 @@ namespace clang {
|
|||
namespace tidy {
|
||||
|
||||
namespace {
|
||||
#if CLANG_ENABLE_STATIC_ANALYZER
|
||||
static const char *AnalyzerCheckNamePrefix = "clang-analyzer-";
|
||||
|
||||
class AnalyzerDiagnosticConsumer : public ento::PathDiagnosticConsumer {
|
||||
|
@ -90,7 +87,6 @@ public:
|
|||
private:
|
||||
ClangTidyContext &Context;
|
||||
};
|
||||
#endif // CLANG_ENABLE_STATIC_ANALYZER
|
||||
|
||||
class ErrorReporter {
|
||||
public:
|
||||
|
@ -300,7 +296,6 @@ ClangTidyASTConsumerFactory::ClangTidyASTConsumerFactory(
|
|||
}
|
||||
}
|
||||
|
||||
#if CLANG_ENABLE_STATIC_ANALYZER
|
||||
static void setStaticAnalyzerCheckerOpts(const ClangTidyOptions &Opts,
|
||||
AnalyzerOptionsRef AnalyzerOptions) {
|
||||
StringRef AnalyzerPrefix(AnalyzerCheckNamePrefix);
|
||||
|
@ -344,7 +339,6 @@ static CheckersList getCheckersControlList(ClangTidyContext &Context,
|
|||
}
|
||||
return List;
|
||||
}
|
||||
#endif // CLANG_ENABLE_STATIC_ANALYZER
|
||||
|
||||
std::unique_ptr<clang::ASTConsumer>
|
||||
ClangTidyASTConsumerFactory::CreateASTConsumer(
|
||||
|
@ -386,7 +380,6 @@ ClangTidyASTConsumerFactory::CreateASTConsumer(
|
|||
if (!Checks.empty())
|
||||
Consumers.push_back(Finder->newASTConsumer());
|
||||
|
||||
#if CLANG_ENABLE_STATIC_ANALYZER
|
||||
AnalyzerOptionsRef AnalyzerOptions = Compiler.getAnalyzerOpts();
|
||||
AnalyzerOptions->CheckersControlList =
|
||||
getCheckersControlList(Context, Context.canEnableAnalyzerAlphaCheckers());
|
||||
|
@ -402,7 +395,6 @@ ClangTidyASTConsumerFactory::CreateASTConsumer(
|
|||
new AnalyzerDiagnosticConsumer(Context));
|
||||
Consumers.push_back(std::move(AnalysisConsumer));
|
||||
}
|
||||
#endif // CLANG_ENABLE_STATIC_ANALYZER
|
||||
return llvm::make_unique<ClangTidyASTConsumer>(
|
||||
std::move(Consumers), std::move(Profiling), std::move(Finder),
|
||||
std::move(Checks));
|
||||
|
@ -415,11 +407,9 @@ std::vector<std::string> ClangTidyASTConsumerFactory::getCheckNames() {
|
|||
CheckNames.push_back(CheckFactory.first);
|
||||
}
|
||||
|
||||
#if CLANG_ENABLE_STATIC_ANALYZER
|
||||
for (const auto &AnalyzerCheck : getCheckersControlList(
|
||||
Context, Context.canEnableAnalyzerAlphaCheckers()))
|
||||
CheckNames.push_back(AnalyzerCheckNamePrefix + AnalyzerCheck.first);
|
||||
#endif // CLANG_ENABLE_STATIC_ANALYZER
|
||||
|
||||
std::sort(CheckNames.begin(), CheckNames.end());
|
||||
return CheckNames;
|
||||
|
|
|
@ -20,6 +20,7 @@ add_clang_library(clangTidyPlugin
|
|||
clangTidyLLVMModule
|
||||
clangTidyMiscModule
|
||||
clangTidyModernizeModule
|
||||
clangTidyMPIModule
|
||||
clangTidyObjCModule
|
||||
clangTidyPerformanceModule
|
||||
clangTidyPortabilityModule
|
||||
|
@ -27,9 +28,3 @@ add_clang_library(clangTidyPlugin
|
|||
clangTidyZirconModule
|
||||
clangTooling
|
||||
)
|
||||
|
||||
if(CLANG_ENABLE_STATIC_ANALYZER)
|
||||
target_link_libraries(clangTidyPlugin PRIVATE
|
||||
clangTidyMPIModule
|
||||
)
|
||||
endif()
|
||||
|
|
|
@ -133,12 +133,10 @@ extern volatile int ModernizeModuleAnchorSource;
|
|||
static int LLVM_ATTRIBUTE_UNUSED ModernizeModuleAnchorDestination =
|
||||
ModernizeModuleAnchorSource;
|
||||
|
||||
#if CLANG_ENABLE_STATIC_ANALYZER
|
||||
// This anchor is used to force the linker to link the MPIModule.
|
||||
extern volatile int MPIModuleAnchorSource;
|
||||
static int LLVM_ATTRIBUTE_UNUSED MPIModuleAnchorDestination =
|
||||
MPIModuleAnchorSource;
|
||||
#endif
|
||||
|
||||
// This anchor is used to force the linker to link the ObjCModule.
|
||||
extern volatile int ObjCModuleAnchorSource;
|
||||
|
|
|
@ -29,6 +29,7 @@ target_link_libraries(clang-tidy
|
|||
clangTidyLLVMModule
|
||||
clangTidyMiscModule
|
||||
clangTidyModernizeModule
|
||||
clangTidyMPIModule
|
||||
clangTidyObjCModule
|
||||
clangTidyPerformanceModule
|
||||
clangTidyPortabilityModule
|
||||
|
@ -38,12 +39,6 @@ target_link_libraries(clang-tidy
|
|||
clangToolingCore
|
||||
)
|
||||
|
||||
if(CLANG_ENABLE_STATIC_ANALYZER)
|
||||
target_link_libraries(clang-tidy PRIVATE
|
||||
clangTidyMPIModule
|
||||
)
|
||||
endif()
|
||||
|
||||
install(PROGRAMS clang-tidy-diff.py
|
||||
DESTINATION share/clang
|
||||
COMPONENT clang-tidy)
|
||||
|
|
|
@ -534,12 +534,10 @@ extern volatile int ModernizeModuleAnchorSource;
|
|||
static int LLVM_ATTRIBUTE_UNUSED ModernizeModuleAnchorDestination =
|
||||
ModernizeModuleAnchorSource;
|
||||
|
||||
#if CLANG_ENABLE_STATIC_ANALYZER
|
||||
// This anchor is used to force the linker to link the MPIModule.
|
||||
extern volatile int MPIModuleAnchorSource;
|
||||
static int LLVM_ATTRIBUTE_UNUSED MPIModuleAnchorDestination =
|
||||
MPIModuleAnchorSource;
|
||||
#endif
|
||||
|
||||
// This anchor is used to force the linker to link the PerformanceModule.
|
||||
extern volatile int PerformanceModuleAnchorSource;
|
||||
|
|
|
@ -337,10 +337,6 @@ There are a few tools particularly useful when developing clang-tidy checks:
|
|||
* `clang-check`_ with the ``-ast-dump`` (and optionally ``-ast-dump-filter``)
|
||||
provides a convenient way to dump AST of a C++ program.
|
||||
|
||||
If CMake is configured with ``CLANG_ENABLE_STATIC_ANALYZER``,
|
||||
:program:`clang-tidy` will not be built with support for the
|
||||
``clang-analyzer-*`` checks or the ``mpi-*`` checks.
|
||||
|
||||
|
||||
.. _AST Matchers: http://clang.llvm.org/docs/LibASTMatchers.html
|
||||
.. _PPCallbacks: http://clang.llvm.org/doxygen/classclang_1_1PPCallbacks.html
|
||||
|
|
|
@ -60,15 +60,19 @@ set(CLANG_TOOLS_TEST_DEPS
|
|||
|
||||
# Unit tests
|
||||
ExtraToolsUnitTests
|
||||
|
||||
# For the clang-tidy libclang integration test.
|
||||
c-index-test
|
||||
# clang-tidy tests require it.
|
||||
clang-headers
|
||||
|
||||
clang-tidy
|
||||
)
|
||||
|
||||
if(CLANG_ENABLE_STATIC_ANALYZER)
|
||||
list(APPEND CLANG_TOOLS_TEST_DEPS
|
||||
# For the clang-tidy libclang integration test.
|
||||
c-index-test
|
||||
# clang-tidy tests require it.
|
||||
clang-headers
|
||||
|
||||
clang-tidy
|
||||
)
|
||||
endif()
|
||||
|
||||
set(llvm_utils
|
||||
FileCheck count not
|
||||
)
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
// REQUIRES: static-analyzer
|
||||
|
||||
// Check if '-allow-enabling-analyzer-alpha-checkers' is visible for users.
|
||||
// RUN: clang-tidy -help | not grep 'allow-enabling-analyzer-alpha-checkers'
|
||||
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
// REQUIRES: static-analyzer
|
||||
// RUN: %check_clang_tidy %s mpi-buffer-deref %t -- -- -I %S/Inputs/mpi-type-mismatch
|
||||
|
||||
#include "mpimock.h"
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
// REQUIRES: static-analyzer
|
||||
// RUN: %check_clang_tidy %s mpi-type-mismatch %t -- -- -I %S/Inputs/mpi-type-mismatch
|
||||
|
||||
#include "mpimock.h"
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
// REQUIRES: static-analyzer
|
||||
// RUN: %check_clang_tidy %s google-explicit-constructor,clang-diagnostic-unused-variable,clang-analyzer-core.UndefinedBinaryOperatorResult %t -- -extra-arg=-Wunused-variable -- -I%S/Inputs/nolint
|
||||
|
||||
#include "trigger_warning.h"
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
// REQUIRES: static-analyzer
|
||||
// RUN: mkdir -p %T/read-file-config/
|
||||
// RUN: cp %s %T/read-file-config/test.cpp
|
||||
// RUN: echo 'Checks: "-*,modernize-use-nullptr"' > %T/read-file-config/.clang-tidy
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
// REQUIRES: static-analyzer
|
||||
// RUN: clang-tidy %s -checks='-*,clang-analyzer-unix.Malloc' -config='{CheckOptions: [{ key: "clang-analyzer-unix.Malloc:Optimistic", value: true}]}' -- | FileCheck %s
|
||||
typedef __typeof(sizeof(int)) size_t;
|
||||
void *malloc(size_t);
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
// REQUIRES: static-analyzer
|
||||
// RUN: clang-tidy %s -checks='-*,clang-analyzer-*' -- | FileCheck %s
|
||||
extern void *malloc(unsigned long);
|
||||
extern void free(void *);
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
// REQUIRES: static-analyzer
|
||||
// RUN: clang-tidy -checks='-*,clang-analyzer-core.NullDereference' %s -- | FileCheck %s
|
||||
|
||||
struct NoReturnDtor {
|
||||
|
|
|
@ -119,22 +119,24 @@ if platform.system() not in ['Windows']:
|
|||
|
||||
if config.clang_staticanalyzer:
|
||||
config.available_features.add('static-analyzer')
|
||||
|
||||
check_clang_tidy = os.path.join(
|
||||
config.test_source_root, "clang-tidy", "check_clang_tidy.py")
|
||||
config.substitutions.append(
|
||||
('%check_clang_tidy',
|
||||
'%s %s' % (config.python_executable, check_clang_tidy)) )
|
||||
clang_tidy_diff = os.path.join(
|
||||
config.test_source_root, "..", "clang-tidy", "tool", "clang-tidy-diff.py")
|
||||
config.substitutions.append(
|
||||
('%clang_tidy_diff',
|
||||
'%s %s' % (config.python_executable, clang_tidy_diff)) )
|
||||
run_clang_tidy = os.path.join(
|
||||
config.test_source_root, "..", "clang-tidy", "tool", "run-clang-tidy.py")
|
||||
config.substitutions.append(
|
||||
('%run_clang_tidy',
|
||||
'%s %s' % (config.python_executable, run_clang_tidy)) )
|
||||
check_clang_tidy = os.path.join(
|
||||
config.test_source_root, "clang-tidy", "check_clang_tidy.py")
|
||||
config.substitutions.append(
|
||||
('%check_clang_tidy',
|
||||
'%s %s' % (config.python_executable, check_clang_tidy)) )
|
||||
clang_tidy_diff = os.path.join(
|
||||
config.test_source_root, "..", "clang-tidy", "tool", "clang-tidy-diff.py")
|
||||
config.substitutions.append(
|
||||
('%clang_tidy_diff',
|
||||
'%s %s' % (config.python_executable, clang_tidy_diff)) )
|
||||
run_clang_tidy = os.path.join(
|
||||
config.test_source_root, "..", "clang-tidy", "tool", "run-clang-tidy.py")
|
||||
config.substitutions.append(
|
||||
('%run_clang_tidy',
|
||||
'%s %s' % (config.python_executable, run_clang_tidy)) )
|
||||
else:
|
||||
# exclude the clang-tidy test directory
|
||||
config.excludes.append('clang-tidy')
|
||||
|
||||
clangd_benchmarks_dir = os.path.join(os.path.dirname(config.clang_tools_dir),
|
||||
"tools", "clang", "tools", "extra",
|
||||
|
|
|
@ -18,6 +18,8 @@ add_subdirectory(change-namespace)
|
|||
add_subdirectory(clang-apply-replacements)
|
||||
add_subdirectory(clang-move)
|
||||
add_subdirectory(clang-query)
|
||||
add_subdirectory(clang-tidy)
|
||||
if(CLANG_ENABLE_STATIC_ANALYZER)
|
||||
add_subdirectory(clang-tidy)
|
||||
endif()
|
||||
add_subdirectory(clangd)
|
||||
add_subdirectory(include-fixer)
|
||||
|
|
Loading…
Reference in New Issue