Mercurial > hg > CbC > CbC_llvm
diff clang-tools-extra/clang-tidy/hicpp/HICPPTidyModule.cpp @ 150:1d019706d866
LLVM10
author | anatofuz |
---|---|
date | Thu, 13 Feb 2020 15:10:13 +0900 |
parents | |
children | 2e18cbf3894f |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/clang-tools-extra/clang-tidy/hicpp/HICPPTidyModule.cpp Thu Feb 13 15:10:13 2020 +0900 @@ -0,0 +1,124 @@ +//===------- HICPPTidyModule.cpp - clang-tidy -----------------------------===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//===----------------------------------------------------------------------===// + +#include "../ClangTidy.h" +#include "../ClangTidyModule.h" +#include "../ClangTidyModuleRegistry.h" +#include "../bugprone/UseAfterMoveCheck.h" +#include "../cppcoreguidelines/AvoidGotoCheck.h" +#include "../cppcoreguidelines/NoMallocCheck.h" +#include "../cppcoreguidelines/ProBoundsArrayToPointerDecayCheck.h" +#include "../cppcoreguidelines/ProTypeMemberInitCheck.h" +#include "../cppcoreguidelines/ProTypeVarargCheck.h" +#include "../cppcoreguidelines/SpecialMemberFunctionsCheck.h" +#include "../google/DefaultArgumentsCheck.h" +#include "../google/ExplicitConstructorCheck.h" +#include "../misc/NewDeleteOverloadsCheck.h" +#include "../misc/StaticAssertCheck.h" +#include "../bugprone/UndelegatedConstructorCheck.h" +#include "../modernize/AvoidCArraysCheck.h" +#include "../modernize/DeprecatedHeadersCheck.h" +#include "../modernize/UseAutoCheck.h" +#include "../modernize/UseEmplaceCheck.h" +#include "../modernize/UseEqualsDefaultCheck.h" +#include "../modernize/UseEqualsDeleteCheck.h" +#include "../modernize/UseNoexceptCheck.h" +#include "../modernize/UseNullptrCheck.h" +#include "../modernize/UseOverrideCheck.h" +#include "../performance/MoveConstArgCheck.h" +#include "../performance/NoexceptMoveConstructorCheck.h" +#include "../readability/BracesAroundStatementsCheck.h" +#include "../readability/FunctionSizeCheck.h" +#include "../readability/IdentifierNamingCheck.h" +#include "../readability/UppercaseLiteralSuffixCheck.h" +#include "ExceptionBaseclassCheck.h" +#include "MultiwayPathsCoveredCheck.h" +#include "NoAssemblerCheck.h" +#include "SignedBitwiseCheck.h" + +namespace clang { +namespace tidy { +namespace hicpp { + +class HICPPModule : public ClangTidyModule { +public: + void addCheckFactories(ClangTidyCheckFactories &CheckFactories) override { + CheckFactories.registerCheck<modernize::AvoidCArraysCheck>( + "hicpp-avoid-c-arrays"); + CheckFactories.registerCheck<cppcoreguidelines::AvoidGotoCheck>( + "hicpp-avoid-goto"); + CheckFactories.registerCheck<readability::BracesAroundStatementsCheck>( + "hicpp-braces-around-statements"); + CheckFactories.registerCheck<modernize::DeprecatedHeadersCheck>( + "hicpp-deprecated-headers"); + CheckFactories.registerCheck<ExceptionBaseclassCheck>( + "hicpp-exception-baseclass"); + CheckFactories.registerCheck<MultiwayPathsCoveredCheck>( + "hicpp-multiway-paths-covered"); + CheckFactories.registerCheck<SignedBitwiseCheck>("hicpp-signed-bitwise"); + CheckFactories.registerCheck<google::ExplicitConstructorCheck>( + "hicpp-explicit-conversions"); + CheckFactories.registerCheck<readability::FunctionSizeCheck>( + "hicpp-function-size"); + CheckFactories.registerCheck<readability::IdentifierNamingCheck>( + "hicpp-named-parameter"); + CheckFactories.registerCheck<bugprone::UseAfterMoveCheck>( + "hicpp-invalid-access-moved"); + CheckFactories.registerCheck<cppcoreguidelines::ProTypeMemberInitCheck>( + "hicpp-member-init"); + CheckFactories.registerCheck<performance::MoveConstArgCheck>( + "hicpp-move-const-arg"); + CheckFactories.registerCheck<misc::NewDeleteOverloadsCheck>( + "hicpp-new-delete-operators"); + CheckFactories.registerCheck<performance::NoexceptMoveConstructorCheck>( + "hicpp-noexcept-move"); + CheckFactories + .registerCheck<cppcoreguidelines::ProBoundsArrayToPointerDecayCheck>( + "hicpp-no-array-decay"); + CheckFactories.registerCheck<NoAssemblerCheck>("hicpp-no-assembler"); + CheckFactories.registerCheck<cppcoreguidelines::NoMallocCheck>( + "hicpp-no-malloc"); + CheckFactories + .registerCheck<cppcoreguidelines::SpecialMemberFunctionsCheck>( + "hicpp-special-member-functions"); + CheckFactories.registerCheck<misc::StaticAssertCheck>( + "hicpp-static-assert"); + CheckFactories.registerCheck<modernize::UseAutoCheck>("hicpp-use-auto"); + CheckFactories.registerCheck<bugprone::UndelegatedConstructorCheck>( + "hicpp-undelegated-constructor"); + CheckFactories.registerCheck<modernize::UseEmplaceCheck>( + "hicpp-use-emplace"); + CheckFactories.registerCheck<modernize::UseEqualsDefaultCheck>( + "hicpp-use-equals-default"); + CheckFactories.registerCheck<modernize::UseEqualsDeleteCheck>( + "hicpp-use-equals-delete"); + CheckFactories.registerCheck<modernize::UseNoexceptCheck>( + "hicpp-use-noexcept"); + CheckFactories.registerCheck<modernize::UseNullptrCheck>( + "hicpp-use-nullptr"); + CheckFactories.registerCheck<modernize::UseOverrideCheck>( + "hicpp-use-override"); + CheckFactories.registerCheck<readability::UppercaseLiteralSuffixCheck>( + "hicpp-uppercase-literal-suffix"); + CheckFactories.registerCheck<cppcoreguidelines::ProTypeVarargCheck>( + "hicpp-vararg"); + } +}; + +// Register the HICPPModule using this statically initialized variable. +static ClangTidyModuleRegistry::Add<HICPPModule> + X("hicpp-module", "Adds High-Integrity C++ checks."); + +} // namespace hicpp + +// This anchor is used to force the linker to link in the generated object file +// and thus register the HICPPModule. +volatile int HICPPModuleAnchorSource = 0; + +} // namespace tidy +} // namespace clang