Author: dingfei Date: 2023-07-18T17:09:58+08:00 New Revision: 2c651184a2b0ef1b0e24c6536e5befb65a0ae5ce
URL: https://github.com/llvm/llvm-project/commit/2c651184a2b0ef1b0e24c6536e5befb65a0ae5ce DIFF: https://github.com/llvm/llvm-project/commit/2c651184a2b0ef1b0e24c6536e5befb65a0ae5ce.diff LOG: [clang-extdef-mapping] register necessary targest for ms-style asm block Without targets registered gives: "error: MS-style inline assembly is not available: Unable to find target for this triple (no targets are registered)" Differential Revision: https://reviews.llvm.org/D154983 Added: clang/test/Tooling/ms-asm-clang-extdef-mapping.c Modified: clang/tools/clang-extdef-mapping/CMakeLists.txt clang/tools/clang-extdef-mapping/ClangExtDefMapGen.cpp Removed: ################################################################################ diff --git a/clang/test/Tooling/ms-asm-clang-extdef-mapping.c b/clang/test/Tooling/ms-asm-clang-extdef-mapping.c new file mode 100644 index 00000000000000..00632d11e3dcbc --- /dev/null +++ b/clang/test/Tooling/ms-asm-clang-extdef-mapping.c @@ -0,0 +1,7 @@ +// RUN: clang-extdef-mapping "%s" -- -fasm-blocks 2>&1 | FileCheck %s + +void Break() { + __asm { int 3 } +} + +// CHECK: {{c:@F@Break .*}} diff --git a/clang/tools/clang-extdef-mapping/CMakeLists.txt b/clang/tools/clang-extdef-mapping/CMakeLists.txt index 973b68db69dff4..e3a2673efbe3e1 100644 --- a/clang/tools/clang-extdef-mapping/CMakeLists.txt +++ b/clang/tools/clang-extdef-mapping/CMakeLists.txt @@ -1,5 +1,8 @@ set(LLVM_LINK_COMPONENTS ${LLVM_TARGETS_TO_BUILD} + AllTargetsAsmParsers + AllTargetsDescs + AllTargetsInfos support ) diff --git a/clang/tools/clang-extdef-mapping/ClangExtDefMapGen.cpp b/clang/tools/clang-extdef-mapping/ClangExtDefMapGen.cpp index 9ad16dc09ce187..2d4f398f76f6d7 100644 --- a/clang/tools/clang-extdef-mapping/ClangExtDefMapGen.cpp +++ b/clang/tools/clang-extdef-mapping/ClangExtDefMapGen.cpp @@ -23,6 +23,7 @@ #include "clang/Tooling/Tooling.h" #include "llvm/Support/CommandLine.h" #include "llvm/Support/Signals.h" +#include "llvm/Support/TargetSelect.h" #include <optional> #include <sstream> #include <string> @@ -214,6 +215,10 @@ int main(int argc, const char **argv) { } CommonOptionsParser &OptionsParser = ExpectedParser.get(); + llvm::InitializeAllTargetInfos(); + llvm::InitializeAllTargetMCs(); + llvm::InitializeAllAsmParsers(); + return HandleFiles(OptionsParser.getSourcePathList(), OptionsParser.getCompilations()); } _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits