This revision was automatically updated to reflect the committed changes. Closed by commit rL316246: [clang-tidy] Don't error on MS-style inline assembly. (authored by zturner).
Changed prior to commit: https://reviews.llvm.org/D38549?vs=119677&id=119722#toc Repository: rL LLVM https://reviews.llvm.org/D38549 Files: clang-tools-extra/trunk/clang-tidy/CMakeLists.txt clang-tools-extra/trunk/clang-tidy/tool/ClangTidyMain.cpp clang-tools-extra/trunk/test/clang-tidy/hicpp-no-assembler-msvc.cpp clang-tools-extra/trunk/test/clang-tidy/hicpp-no-assembler.cpp Index: clang-tools-extra/trunk/test/clang-tidy/hicpp-no-assembler-msvc.cpp =================================================================== --- clang-tools-extra/trunk/test/clang-tidy/hicpp-no-assembler-msvc.cpp +++ clang-tools-extra/trunk/test/clang-tidy/hicpp-no-assembler-msvc.cpp @@ -0,0 +1,9 @@ +// REQUIRES: system-windows +// RUN: %check_clang_tidy %s hicpp-no-assembler %t + +void f() { + _asm { + mov al, 2; + // CHECK-MESSAGES: :[[@LINE-2]]:3: warning: do not use inline assembler in safety-critical code [hicpp-no-assembler] + } +} Index: clang-tools-extra/trunk/test/clang-tidy/hicpp-no-assembler.cpp =================================================================== --- clang-tools-extra/trunk/test/clang-tidy/hicpp-no-assembler.cpp +++ clang-tools-extra/trunk/test/clang-tidy/hicpp-no-assembler.cpp @@ -9,4 +9,9 @@ void f() { __asm("mov al, 2"); // CHECK-MESSAGES: :[[@LINE-1]]:3: warning: do not use inline assembler in safety-critical code [hicpp-no-assembler] + + _asm { + mov al, 2; + // CHECK-MESSAGES: :[[@LINE-2]]:3: warning: do not use inline assembler in safety-critical code [hicpp-no-assembler] + } } Index: clang-tools-extra/trunk/clang-tidy/CMakeLists.txt =================================================================== --- clang-tools-extra/trunk/clang-tidy/CMakeLists.txt +++ clang-tools-extra/trunk/clang-tidy/CMakeLists.txt @@ -1,4 +1,7 @@ set(LLVM_LINK_COMPONENTS + AllTargetsAsmParsers + AllTargetsDescs + AllTargetsInfos Support ) Index: clang-tools-extra/trunk/clang-tidy/tool/ClangTidyMain.cpp =================================================================== --- clang-tools-extra/trunk/clang-tidy/tool/ClangTidyMain.cpp +++ clang-tools-extra/trunk/clang-tidy/tool/ClangTidyMain.cpp @@ -18,6 +18,7 @@ #include "../ClangTidy.h" #include "clang/Tooling/CommonOptionsParser.h" #include "llvm/Support/Process.h" +#include "llvm/Support/TargetSelect.h" using namespace clang::ast_matchers; using namespace clang::driver; @@ -403,6 +404,10 @@ ProfileData Profile; + llvm::InitializeAllTargetInfos(); + llvm::InitializeAllTargetMCs(); + llvm::InitializeAllAsmParsers(); + ClangTidyContext Context(std::move(OwningOptionsProvider)); runClangTidy(Context, OptionsParser.getCompilations(), PathList, EnableCheckProfile ? &Profile : nullptr);
Index: clang-tools-extra/trunk/test/clang-tidy/hicpp-no-assembler-msvc.cpp =================================================================== --- clang-tools-extra/trunk/test/clang-tidy/hicpp-no-assembler-msvc.cpp +++ clang-tools-extra/trunk/test/clang-tidy/hicpp-no-assembler-msvc.cpp @@ -0,0 +1,9 @@ +// REQUIRES: system-windows +// RUN: %check_clang_tidy %s hicpp-no-assembler %t + +void f() { + _asm { + mov al, 2; + // CHECK-MESSAGES: :[[@LINE-2]]:3: warning: do not use inline assembler in safety-critical code [hicpp-no-assembler] + } +} Index: clang-tools-extra/trunk/test/clang-tidy/hicpp-no-assembler.cpp =================================================================== --- clang-tools-extra/trunk/test/clang-tidy/hicpp-no-assembler.cpp +++ clang-tools-extra/trunk/test/clang-tidy/hicpp-no-assembler.cpp @@ -9,4 +9,9 @@ void f() { __asm("mov al, 2"); // CHECK-MESSAGES: :[[@LINE-1]]:3: warning: do not use inline assembler in safety-critical code [hicpp-no-assembler] + + _asm { + mov al, 2; + // CHECK-MESSAGES: :[[@LINE-2]]:3: warning: do not use inline assembler in safety-critical code [hicpp-no-assembler] + } } Index: clang-tools-extra/trunk/clang-tidy/CMakeLists.txt =================================================================== --- clang-tools-extra/trunk/clang-tidy/CMakeLists.txt +++ clang-tools-extra/trunk/clang-tidy/CMakeLists.txt @@ -1,4 +1,7 @@ set(LLVM_LINK_COMPONENTS + AllTargetsAsmParsers + AllTargetsDescs + AllTargetsInfos Support ) Index: clang-tools-extra/trunk/clang-tidy/tool/ClangTidyMain.cpp =================================================================== --- clang-tools-extra/trunk/clang-tidy/tool/ClangTidyMain.cpp +++ clang-tools-extra/trunk/clang-tidy/tool/ClangTidyMain.cpp @@ -18,6 +18,7 @@ #include "../ClangTidy.h" #include "clang/Tooling/CommonOptionsParser.h" #include "llvm/Support/Process.h" +#include "llvm/Support/TargetSelect.h" using namespace clang::ast_matchers; using namespace clang::driver; @@ -403,6 +404,10 @@ ProfileData Profile; + llvm::InitializeAllTargetInfos(); + llvm::InitializeAllTargetMCs(); + llvm::InitializeAllAsmParsers(); + ClangTidyContext Context(std::move(OwningOptionsProvider)); runClangTidy(Context, OptionsParser.getCompilations(), PathList, EnableCheckProfile ? &Profile : nullptr);
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits