diff options
author | Puyan Lotfi <puyan@puyan.org> | 2019-08-22 23:29:22 +0000 |
---|---|---|
committer | Puyan Lotfi <puyan@puyan.org> | 2019-08-22 23:29:22 +0000 |
commit | d24184591fb7223fe6fea724be901ee501bf1cc3 (patch) | |
tree | 87ae017316348bb0afa4d4ebd845b001dd922b6b /clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp | |
parent | d6c1c7bfb68bc4158879e64a24115042c814c07a (diff) | |
download | bcm5719-llvm-d24184591fb7223fe6fea724be901ee501bf1cc3.tar.gz bcm5719-llvm-d24184591fb7223fe6fea724be901ee501bf1cc3.zip |
[clang][ifs] New interface stubs format (llvm triple based).
After posting llvm-ifs on phabricator, I made some progress in hardening up how
I think the format for Interface Stubs should look. There are a number of
things I think the TBE format was missing (no endianness, no info about the
Object Format because it assumes ELF), so I have added those and broken off
from being as similar to the TBE schema. In a subsequent commit I can drop the
other formats.
An example of how The format will look is as follows:
--- !experimental-ifs-v1
IfsVersion: 1.0
Triple: x86_64-unknown-linux-gnu
ObjectFileFormat: ELF
Symbols:
_Z9nothiddenv: { Type: Func }
_Z10cmdVisiblev: { Type: Func }
...
The format is still marked experimental.
Differential Revision: https://reviews.llvm.org/D66446
llvm-svn: 369715
Diffstat (limited to 'clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp')
-rw-r--r-- | clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp b/clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp index 9cbfe70c70d..f9667501614 100644 --- a/clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp +++ b/clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp @@ -68,6 +68,8 @@ CreateFrontendBaseAction(CompilerInstance &CI) { return std::make_unique<GenerateInterfaceYAMLExpV1Action>(); case GenerateInterfaceTBEExpV1: return std::make_unique<GenerateInterfaceTBEExpV1Action>(); + case GenerateInterfaceIfsExpV1: + return std::make_unique<GenerateInterfaceIfsExpV1Action>(); case InitOnly: return std::make_unique<InitOnlyAction>(); case ParseSyntaxOnly: return std::make_unique<SyntaxOnlyAction>(); case ModuleFileInfo: return std::make_unique<DumpModuleInfoAction>(); |