[PATCH] D154983: [clang-extdef-mapping] register necessary targest for ms-style asm block
Ding Fei via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Tue Jul 11 09:40:02 PDT 2023
danix800 created this revision.
danix800 added a project: clang-tools-extra.
Herald added a project: All.
danix800 requested review of this revision.
Herald added a project: clang.
Herald added a subscriber: cfe-commits.
Without targets registered gives: `error: MS-style inline assembly is not available: Unable to find target for this triple (no targets are registered)`
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D154983
Files:
clang/test/Tooling/ms-asm-clang-extdef-mapping.c
clang/tools/clang-extdef-mapping/CMakeLists.txt
clang/tools/clang-extdef-mapping/ClangExtDefMapGen.cpp
Index: clang/tools/clang-extdef-mapping/ClangExtDefMapGen.cpp
===================================================================
--- clang/tools/clang-extdef-mapping/ClangExtDefMapGen.cpp
+++ 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>
@@ -213,6 +214,10 @@
}
CommonOptionsParser &OptionsParser = ExpectedParser.get();
+ llvm::InitializeAllTargetInfos();
+ llvm::InitializeAllTargetMCs();
+ llvm::InitializeAllAsmParsers();
+
return HandleFiles(OptionsParser.getSourcePathList(),
OptionsParser.getCompilations());
}
Index: clang/tools/clang-extdef-mapping/CMakeLists.txt
===================================================================
--- clang/tools/clang-extdef-mapping/CMakeLists.txt
+++ clang/tools/clang-extdef-mapping/CMakeLists.txt
@@ -1,5 +1,8 @@
set(LLVM_LINK_COMPONENTS
${LLVM_TARGETS_TO_BUILD}
+ AllTargetsAsmParsers
+ AllTargetsDescs
+ AllTargetsInfos
support
)
Index: clang/test/Tooling/ms-asm-clang-extdef-mapping.c
===================================================================
--- /dev/null
+++ 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 at Break .*}}
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D154983.539157.patch
Type: text/x-patch
Size: 1518 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20230711/7080b652/attachment.bin>
More information about the cfe-commits
mailing list