| Index: lib/Driver/ToolChains.h
|
| diff --git a/lib/Driver/ToolChains.h b/lib/Driver/ToolChains.h
|
| index 876bb01f33a77ae83af2cd521f30ab2e61a18339..467072edbc3413ac9dd856d5f877c89f6768e914 100644
|
| --- a/lib/Driver/ToolChains.h
|
| +++ b/lib/Driver/ToolChains.h
|
| @@ -715,6 +715,48 @@ public:
|
| static StringRef GetTargetCPU(const llvm::opt::ArgList &Args);
|
| };
|
|
|
| +// @LOCALMOD-START
|
| +class LLVM_LIBRARY_VISIBILITY NaCl_TC : public Generic_ELF {
|
| +public:
|
| + NaCl_TC(const Driver &D, const llvm::Triple &Triple,
|
| + const llvm::opt::ArgList &Args);
|
| +
|
| + void
|
| + AddClangSystemIncludeArgs(const llvm::opt::ArgList &DriverArgs,
|
| + llvm::opt::ArgStringList &CC1Args) const override;
|
| + void
|
| + AddClangCXXStdlibIncludeArgs(const llvm::opt::ArgList &DriverArgs,
|
| + llvm::opt::ArgStringList &CC1Args) const override;
|
| +
|
| + CXXStdlibType
|
| + GetCXXStdlibType(const llvm::opt::ArgList &Args) const override;
|
| +
|
| + void
|
| + AddCXXStdlibLibArgs(const llvm::opt::ArgList &Args,
|
| + llvm::opt::ArgStringList &CmdArgs) const override;
|
| +
|
| + bool
|
| + IsIntegratedAssemblerDefault() const override { return false; }
|
| +
|
| + // Get the path to the file containing NaCl's ARM macros. It lives in NaCl_TC
|
| + // because the AssembleARM tool needs a const char * that it can pass around
|
| + // and the toolchain outlives all the jobs.
|
| + const char *GetNaClArmMacrosPath() const { return NaClArmMacrosPath.c_str(); }
|
| +
|
| + std::string ComputeEffectiveClangTriple(const llvm::opt::ArgList &Args,
|
| + types::ID InputType) const override;
|
| + std::string Linker;
|
| +
|
| +protected:
|
| + Tool *buildLinker() const override;
|
| + Tool *buildAssembler() const override;
|
| +
|
| +private:
|
| + std::string NaClArmMacrosPath;
|
| +};
|
| +// @LOCALMOD-END
|
| +
|
| +
|
| /// TCEToolChain - A tool chain using the llvm bitcode tools to perform
|
| /// all subcommands. See http://tce.cs.tut.fi for our peculiar target.
|
| class LLVM_LIBRARY_VISIBILITY TCEToolChain : public ToolChain {
|
|
|