diff options
author | Puyan Lotfi <puyan@puyan.org> | 2019-06-17 22:46:54 +0000 |
---|---|---|
committer | Puyan Lotfi <puyan@puyan.org> | 2019-06-17 22:46:54 +0000 |
commit | d9cb70af7cf60498423d776efcca80e30a3e233a (patch) | |
tree | 47d179841d7311fb2bbf4df8a6bb9088c0aa54f7 /lib/FrontendTool | |
parent | d8450eac7b8a65d2332a074d4fdafbf4738a0b6b (diff) | |
download | clang-d9cb70af7cf60498423d776efcca80e30a3e233a.tar.gz |
[clang-ifs] Clang Interface Stubs, first version.
Clang interface stubs (previously referred to as clang-ifsos) is a new frontend
action in clang that allows the generation of stub files that contain mangled
name info that can be used to produce a stub library. These stub libraries can
be useful for breaking up build dependencies and controlling access to a
library's internal symbols. Generation of these stubs can be invoked by:
clang -fvisibility=<visibility> -emit-interface-stubs \
-interface-stub-version=<interface format>
Notice that -fvisibility (along with use of visibility attributes) can be used
to control what symbols get generated. Currently the interface format is
experimental but there are a wide range of possibilities here.
Differential Revision: https://reviews.llvm.org/D60974
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@363626 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/FrontendTool')
-rw-r--r-- | lib/FrontendTool/ExecuteCompilerInvocation.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/FrontendTool/ExecuteCompilerInvocation.cpp b/lib/FrontendTool/ExecuteCompilerInvocation.cpp index b6a20a7bb6..69e773658c 100644 --- a/lib/FrontendTool/ExecuteCompilerInvocation.cpp +++ b/lib/FrontendTool/ExecuteCompilerInvocation.cpp @@ -64,6 +64,10 @@ CreateFrontendBaseAction(CompilerInstance &CI) { case GenerateHeaderModule: return llvm::make_unique<GenerateHeaderModuleAction>(); case GeneratePCH: return llvm::make_unique<GeneratePCHAction>(); + case GenerateInterfaceYAMLExpV1: + return llvm::make_unique<GenerateInterfaceYAMLExpV1Action>(); + case GenerateInterfaceTBEExpV1: + return llvm::make_unique<GenerateInterfaceTBEExpV1Action>(); case InitOnly: return llvm::make_unique<InitOnlyAction>(); case ParseSyntaxOnly: return llvm::make_unique<SyntaxOnlyAction>(); case ModuleFileInfo: return llvm::make_unique<DumpModuleInfoAction>(); |