diff options
author | Petr Hosek <phosek@chromium.org> | 2016-10-06 06:08:09 +0000 |
---|---|---|
committer | Petr Hosek <phosek@chromium.org> | 2016-10-06 06:08:09 +0000 |
commit | 62e1d239866969ea3aab7c0b221683a9005ffcc4 (patch) | |
tree | 8fccbd9dd38172b509062f1272b2a608746c83f8 /clang/lib/Driver/Tools.h | |
parent | e023d62e7691cd028b1ae127682c533888b16281 (diff) | |
download | bcm5719-llvm-62e1d239866969ea3aab7c0b221683a9005ffcc4.tar.gz bcm5719-llvm-62e1d239866969ea3aab7c0b221683a9005ffcc4.zip |
[Driver] Add driver support for Fuchsia
Provide toolchain and tool support for Fuchsia operating system.
Fuchsia uses compiler-rt as the runtime library and libc++, libc++abi
and libunwind as the C++ standard library. lld is used as a default
linker.
Differential Revision: https://reviews.llvm.org/D25117
llvm-svn: 283420
Diffstat (limited to 'clang/lib/Driver/Tools.h')
-rw-r--r-- | clang/lib/Driver/Tools.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/clang/lib/Driver/Tools.h b/clang/lib/Driver/Tools.h index 6577ce92b92..724b82932b1 100644 --- a/clang/lib/Driver/Tools.h +++ b/clang/lib/Driver/Tools.h @@ -596,6 +596,21 @@ public: }; } // end namespace nacltools +namespace fuchsia { +class LLVM_LIBRARY_VISIBILITY Linker : public GnuTool { +public: + Linker(const ToolChain &TC) : GnuTool("fuchsia::Linker", "ld.lld", TC) {} + + bool hasIntegratedCPP() const override { return false; } + bool isLinkJob() const override { return true; } + + void ConstructJob(Compilation &C, const JobAction &JA, + const InputInfo &Output, const InputInfoList &Inputs, + const llvm::opt::ArgList &TCArgs, + const char *LinkingOutput) const override; +}; +} // end namespace fuchsia + /// minix -- Directly call GNU Binutils assembler and linker namespace minix { class LLVM_LIBRARY_VISIBILITY Assembler : public GnuTool { |