diff options
| author | Aaron Ballman <aaron@aaronballman.com> | 2017-03-19 17:23:23 +0000 |
|---|---|---|
| committer | Aaron Ballman <aaron@aaronballman.com> | 2017-03-19 17:23:23 +0000 |
| commit | dbdbabf2059ecbd66b72d241ccc303e9b5cd5157 (patch) | |
| tree | d36ed6ee04fe265056379af20dcccd2fcaae743c | |
| parent | 5992c8d1dcc28361934b726afa5f59fbf4e53ace (diff) | |
| download | bcm5719-llvm-dbdbabf2059ecbd66b72d241ccc303e9b5cd5157.tar.gz bcm5719-llvm-dbdbabf2059ecbd66b72d241ccc303e9b5cd5157.zip | |
Rename the clang-tidy safety module to be hicpp, for the High-Integrity C++ coding standard from PRQA.
This commit renames all of the safety functionality to be hicpp, adds an appropriate LICENSE.TXT, and updates the documentation accordingly.
llvm-svn: 298229
13 files changed, 57 insertions, 45 deletions
diff --git a/clang-tools-extra/LICENSE.TXT b/clang-tools-extra/LICENSE.TXT index 3f4fa1f12f4..12fb67d053f 100644 --- a/clang-tools-extra/LICENSE.TXT +++ b/clang-tools-extra/LICENSE.TXT @@ -60,3 +60,4 @@ licenses, and/or restrictions: Program Directory ------- --------- clang-tidy clang-tidy/cert +clang-tidy clang-tidy/hicpp diff --git a/clang-tools-extra/clang-tidy/CMakeLists.txt b/clang-tools-extra/clang-tidy/CMakeLists.txt index d08d56da421..2de309d02ea 100644 --- a/clang-tools-extra/clang-tidy/CMakeLists.txt +++ b/clang-tools-extra/clang-tidy/CMakeLists.txt @@ -26,17 +26,17 @@ add_clang_library(clangTidy clangToolingCore ) -add_subdirectory(tool) -add_subdirectory(plugin) add_subdirectory(boost) add_subdirectory(cert) -add_subdirectory(llvm) add_subdirectory(cppcoreguidelines) add_subdirectory(google) +add_subdirectory(hicpp) +add_subdirectory(llvm) add_subdirectory(misc) add_subdirectory(modernize) add_subdirectory(mpi) add_subdirectory(performance) +add_subdirectory(plugin) add_subdirectory(readability) -add_subdirectory(safety) +add_subdirectory(tool) add_subdirectory(utils) diff --git a/clang-tools-extra/clang-tidy/safety/CMakeLists.txt b/clang-tools-extra/clang-tidy/hicpp/CMakeLists.txt index 467e704e156..38c383f4c4b 100644 --- a/clang-tools-extra/clang-tidy/safety/CMakeLists.txt +++ b/clang-tools-extra/clang-tidy/hicpp/CMakeLists.txt @@ -1,8 +1,8 @@ set(LLVM_LINK_COMPONENTS support) -add_clang_library(clangTidySafetyModule +add_clang_library(clangTidyHICPPModule NoAssemblerCheck.cpp - SafetyTidyModule.cpp + HICPPTidyModule.cpp LINK_LIBS clangAST diff --git a/clang-tools-extra/clang-tidy/safety/SafetyTidyModule.cpp b/clang-tools-extra/clang-tidy/hicpp/HICPPTidyModule.cpp index a562e88b7c3..26b21cf3d31 100644 --- a/clang-tools-extra/clang-tidy/safety/SafetyTidyModule.cpp +++ b/clang-tools-extra/clang-tidy/hicpp/HICPPTidyModule.cpp @@ -1,4 +1,4 @@ -//===------- SafetyTidyModule.cpp - clang-tidy ----------------------------===// +//===------- HICPPTidyModule.cpp - clang-tidy -----------------------------===// // // The LLVM Compiler Infrastructure // @@ -14,25 +14,25 @@ namespace clang { namespace tidy { -namespace safety { +namespace hicpp { -class SafetyModule : public ClangTidyModule { +class HICPPModule : public ClangTidyModule { public: void addCheckFactories(ClangTidyCheckFactories &CheckFactories) override { CheckFactories.registerCheck<NoAssemblerCheck>( - "safety-no-assembler"); + "hicpp-no-assembler"); } }; -// Register the SafetyModule using this statically initialized variable. -static ClangTidyModuleRegistry::Add<SafetyModule> - X("safety-module", "Adds safety-critical checks."); +// Register the HICPPModule using this statically initialized variable. +static ClangTidyModuleRegistry::Add<HICPPModule> + X("hicpp-module", "Adds High-Integrity C++ checks."); -} // namespace safety +} // namespace hicpp // This anchor is used to force the linker to link in the generated object file -// and thus register the SafetyModule. -volatile int SafetyModuleAnchorSource = 0; +// and thus register the HICPPModule. +volatile int HICPPModuleAnchorSource = 0; } // namespace tidy } // namespace clang diff --git a/clang-tools-extra/clang-tidy/hicpp/LICENSE.TXT b/clang-tools-extra/clang-tidy/hicpp/LICENSE.TXT new file mode 100644 index 00000000000..fb8f513e51b --- /dev/null +++ b/clang-tools-extra/clang-tidy/hicpp/LICENSE.TXT @@ -0,0 +1,12 @@ +------------------------------------------------------------------------------ +clang-tidy High-Integrity C++ Files +------------------------------------------------------------------------------ +All clang-tidy files are licensed under the LLVM license with the following +additions: + +Any file referencing a High-Integrity C++ Coding guideline: + +HIC++ Coding Standard as created by PRQA. + +Please see http://www.codingstandard.com/section/conditions-of-use/ for more +information. diff --git a/clang-tools-extra/clang-tidy/safety/NoAssemblerCheck.cpp b/clang-tools-extra/clang-tidy/hicpp/NoAssemblerCheck.cpp index 880feb7cad5..053db61322e 100644 --- a/clang-tools-extra/clang-tidy/safety/NoAssemblerCheck.cpp +++ b/clang-tools-extra/clang-tidy/hicpp/NoAssemblerCheck.cpp @@ -23,7 +23,7 @@ const internal::VariadicDynCastAllOfMatcher<Decl, FileScopeAsmDecl> namespace clang { namespace tidy { -namespace safety { +namespace hicpp { void NoAssemblerCheck::registerMatchers(MatchFinder *Finder) { Finder->addMatcher(asmStmt().bind("asm-stmt"), this); @@ -46,6 +46,6 @@ void NoAssemblerCheck::check(const MatchFinder::MatchResult &Result) { diag(ASMLocation, "do not use inline assembler in safety-critical code"); } -} // namespace safety +} // namespace hicpp } // namespace tidy } // namespace clang diff --git a/clang-tools-extra/clang-tidy/safety/NoAssemblerCheck.h b/clang-tools-extra/clang-tidy/hicpp/NoAssemblerCheck.h index 45679ad6742..416ccb06d80 100644 --- a/clang-tools-extra/clang-tidy/safety/NoAssemblerCheck.h +++ b/clang-tools-extra/clang-tidy/hicpp/NoAssemblerCheck.h @@ -7,19 +7,19 @@ // //===----------------------------------------------------------------------===// -#ifndef LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_SAFETY_NO_ASSEMBLER_H -#define LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_SAFETY_NO_ASSEMBLER_H +#ifndef LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_HICPP_NO_ASSEMBLER_H +#define LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_HICPP_NO_ASSEMBLER_H #include "../ClangTidy.h" namespace clang { namespace tidy { -namespace safety { +namespace hicpp { /// Find assembler statements. No fix is offered. /// /// For the user-facing documentation see: -/// http://clang.llvm.org/extra/clang-tidy/checks/safety-no-assembler.html +/// http://clang.llvm.org/extra/clang-tidy/checks/hicpp-no-assembler.html class NoAssemblerCheck : public ClangTidyCheck { public: NoAssemblerCheck(StringRef Name, ClangTidyContext *Context) @@ -28,8 +28,8 @@ public: void check(const ast_matchers::MatchFinder::MatchResult &Result) override; }; -} // namespace safety +} // namespace hicpp } // namespace tidy } // namespace clang -#endif // LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_SAFETY_NO_ASSEMBLER_H +#endif // LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_HICPP_NO_ASSEMBLER_H diff --git a/clang-tools-extra/clang-tidy/tool/CMakeLists.txt b/clang-tools-extra/clang-tidy/tool/CMakeLists.txt index 77222117030..01e2f7403a2 100644 --- a/clang-tools-extra/clang-tidy/tool/CMakeLists.txt +++ b/clang-tools-extra/clang-tidy/tool/CMakeLists.txt @@ -17,13 +17,13 @@ target_link_libraries(clang-tidy clangTidyCERTModule clangTidyCppCoreGuidelinesModule clangTidyGoogleModule + clangTidyHICPPModule clangTidyLLVMModule clangTidyMiscModule clangTidyModernizeModule clangTidyMPIModule clangTidyPerformanceModule clangTidyReadabilityModule - clangTidySafetyModule clangTooling ) diff --git a/clang-tools-extra/clang-tidy/tool/ClangTidyMain.cpp b/clang-tools-extra/clang-tidy/tool/ClangTidyMain.cpp index 4dc86e1aa39..95275f619db 100644 --- a/clang-tools-extra/clang-tidy/tool/ClangTidyMain.cpp +++ b/clang-tools-extra/clang-tidy/tool/ClangTidyMain.cpp @@ -496,10 +496,10 @@ extern volatile int ReadabilityModuleAnchorSource; static int LLVM_ATTRIBUTE_UNUSED ReadabilityModuleAnchorDestination = ReadabilityModuleAnchorSource; -// This anchor is used to force the linker to link the SafetyModule. -extern volatile int SafetyModuleAnchorSource; -static int LLVM_ATTRIBUTE_UNUSED SafetyModuleAnchorDestination = - SafetyModuleAnchorSource; +// This anchor is used to force the linker to link the HICPPModule. +extern volatile int HICPPModuleAnchorSource; +static int LLVM_ATTRIBUTE_UNUSED HICPPModuleAnchorDestination = + HICPPModuleAnchorSource; } // namespace tidy } // namespace clang diff --git a/clang-tools-extra/docs/clang-tidy/checks/hicpp-no-assembler.rst b/clang-tools-extra/docs/clang-tidy/checks/hicpp-no-assembler.rst new file mode 100644 index 00000000000..8295895ec88 --- /dev/null +++ b/clang-tools-extra/docs/clang-tidy/checks/hicpp-no-assembler.rst @@ -0,0 +1,10 @@ +.. title:: clang-tidy - hicpp-no-assembler + +hicpp-no-assembler +=================== + +Check for assembler statements. No fix is offered. + +Inline assembler is forbidden by the `High Intergrity C++ Coding Standard +<http://www.codingstandard.com/section/7-5-the-asm-declaration/>`_ +as it restricts the portability of code. diff --git a/clang-tools-extra/docs/clang-tidy/checks/list.rst b/clang-tools-extra/docs/clang-tidy/checks/list.rst index 216e0b70c8d..4479109aa6a 100644 --- a/clang-tools-extra/docs/clang-tidy/checks/list.rst +++ b/clang-tools-extra/docs/clang-tidy/checks/list.rst @@ -53,6 +53,7 @@ Clang-Tidy Checks google-runtime-memset google-runtime-operator google-runtime-references + hicpp-no-assembler llvm-header-guard llvm-include-order llvm-namespace-comment @@ -155,4 +156,3 @@ Clang-Tidy Checks readability-simplify-boolean-expr readability-static-definition-in-anonymous-namespace readability-uniqueptr-delete-release - safety-no-assembler diff --git a/clang-tools-extra/docs/clang-tidy/checks/safety-no-assembler.rst b/clang-tools-extra/docs/clang-tidy/checks/safety-no-assembler.rst deleted file mode 100644 index 78189dc91a8..00000000000 --- a/clang-tools-extra/docs/clang-tidy/checks/safety-no-assembler.rst +++ /dev/null @@ -1,10 +0,0 @@ -.. title:: clang-tidy - safety-no-assembler - -safety-no-assembler -=================== - -Check for assembler statements. No fix is offered. - -Inline assembler is forbidden by safety-critical C++ standards like `High -Intergrity C++ <http://www.codingstandard.com>`_ as it restricts the -portability of code. diff --git a/clang-tools-extra/test/clang-tidy/safety-no-assembler.cpp b/clang-tools-extra/test/clang-tidy/hicpp-no-assembler.cpp index 04d1103bf64..d08ea74f6cd 100644 --- a/clang-tools-extra/test/clang-tidy/safety-no-assembler.cpp +++ b/clang-tools-extra/test/clang-tidy/hicpp-no-assembler.cpp @@ -1,13 +1,12 @@ -// RUN: %check_clang_tidy %s safety-no-assembler %t +// RUN: %check_clang_tidy %s hicpp-no-assembler %t __asm__(".symver foo, bar@v"); -// CHECK-MESSAGES: :[[@LINE-1]]:1: warning: do not use inline assembler in safety-critical code [safety-no-assembler] +// CHECK-MESSAGES: :[[@LINE-1]]:1: warning: do not use inline assembler in safety-critical code [hicpp-no-assembler] static int s asm("spam"); -// CHECK-MESSAGES: :[[@LINE-1]]:12: warning: do not use inline assembler in safety-critical code [safety-no-assembler] +// CHECK-MESSAGES: :[[@LINE-1]]:12: warning: do not use inline assembler in safety-critical code [hicpp-no-assembler] void f() { __asm("mov al, 2"); - // CHECK-MESSAGES: :[[@LINE-1]]:3: warning: do not use inline assembler in safety-critical code [safety-no-assembler] + // CHECK-MESSAGES: :[[@LINE-1]]:3: warning: do not use inline assembler in safety-critical code [hicpp-no-assembler] } - |

