diff options
| author | Konstantin Zhuravlyov <kzhuravl_dev@outlook.com> | 2017-03-08 22:36:04 +0000 |
|---|---|---|
| committer | Konstantin Zhuravlyov <kzhuravl_dev@outlook.com> | 2017-03-08 22:36:04 +0000 |
| commit | e37b32c4334612ea4597202c0b6d6713618fe26a (patch) | |
| tree | 2b91a1887c12dea5a7b35a06c56e0cf492acd96f /clang/lib/Driver/ToolChains/MipsLinux.h | |
| parent | 5d698cf9a013f772516cf8373883be4fef2a31be (diff) | |
| download | bcm5719-llvm-e37b32c4334612ea4597202c0b6d6713618fe26a.tar.gz bcm5719-llvm-e37b32c4334612ea4597202c0b6d6713618fe26a.zip | |
Driver/ToolChains: Mips -> MipsLinux
- Mips is architecture, not a toolchain
- Might help eliminate the confusion in the future by not having header files with the same name
Differential Revision: https://reviews.llvm.org/D30753
llvm-svn: 297312
Diffstat (limited to 'clang/lib/Driver/ToolChains/MipsLinux.h')
| -rw-r--r-- | clang/lib/Driver/ToolChains/MipsLinux.h | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/clang/lib/Driver/ToolChains/MipsLinux.h b/clang/lib/Driver/ToolChains/MipsLinux.h new file mode 100644 index 00000000000..fa82efbbfc8 --- /dev/null +++ b/clang/lib/Driver/ToolChains/MipsLinux.h @@ -0,0 +1,62 @@ +//===--- Mips.h - Mips ToolChain Implementations ----------------*- C++ -*-===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +#ifndef LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_MIPS_LINUX_H +#define LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_MIPS_LINUX_H + +#include "Linux.h" +#include "clang/Driver/ToolChain.h" + +namespace clang { +namespace driver { +namespace toolchains { + +class LLVM_LIBRARY_VISIBILITY MipsLLVMToolChain : public Linux { +protected: + Tool *buildLinker() const override; + +public: + MipsLLVMToolChain(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; + + CXXStdlibType GetCXXStdlibType(const llvm::opt::ArgList &Args) const override; + + std::string findLibCxxIncludePath() const override; + + void AddCXXStdlibLibArgs(const llvm::opt::ArgList &Args, + llvm::opt::ArgStringList &CmdArgs) const override; + + std::string getCompilerRT(const llvm::opt::ArgList &Args, StringRef Component, + bool Shared = false) const override; + + std::string computeSysRoot() const override; + + RuntimeLibType GetDefaultRuntimeLibType() const override { + return GCCInstallation.isValid() ? RuntimeLibType::RLT_Libgcc + : RuntimeLibType::RLT_CompilerRT; + } + + const char *getDefaultLinker() const override { + return "lld"; + } + +private: + Multilib SelectedMultilib; + std::string LibSuffix; +}; + +} // end namespace toolchains +} // end namespace driver +} // end namespace clang + +#endif // LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_MIPS_LINUX_H |

