summaryrefslogtreecommitdiffstats
path: root/clang/lib/Driver/Tools.h
diff options
context:
space:
mode:
authorPetr Hosek <phosek@chromium.org>2016-10-06 06:08:09 +0000
committerPetr Hosek <phosek@chromium.org>2016-10-06 06:08:09 +0000
commit62e1d239866969ea3aab7c0b221683a9005ffcc4 (patch)
tree8fccbd9dd38172b509062f1272b2a608746c83f8 /clang/lib/Driver/Tools.h
parente023d62e7691cd028b1ae127682c533888b16281 (diff)
downloadbcm5719-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.h15
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 {
OpenPOWER on IntegriCloud