OLD | NEW |
1 //===--- ToolChains.h - ToolChain Implementations ---------------*- C++ -*-===// | 1 //===--- ToolChains.h - ToolChain Implementations ---------------*- C++ -*-===// |
2 // | 2 // |
3 // The LLVM Compiler Infrastructure | 3 // The LLVM Compiler Infrastructure |
4 // | 4 // |
5 // This file is distributed under the University of Illinois Open Source | 5 // This file is distributed under the University of Illinois Open Source |
6 // License. See LICENSE.TXT for details. | 6 // License. See LICENSE.TXT for details. |
7 // | 7 // |
8 //===----------------------------------------------------------------------===// | 8 //===----------------------------------------------------------------------===// |
9 | 9 |
10 #ifndef LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_H | 10 #ifndef LLVM_CLANG_LIB_DRIVER_TOOLCHAINS_H |
(...skipping 698 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
709 CXXStdlibType GetCXXStdlibType(const llvm::opt::ArgList &Args) const override; | 709 CXXStdlibType GetCXXStdlibType(const llvm::opt::ArgList &Args) const override; |
710 | 710 |
711 StringRef GetGCCLibAndIncVersion() const { return GCCLibAndIncVersion.Text; } | 711 StringRef GetGCCLibAndIncVersion() const { return GCCLibAndIncVersion.Text; } |
712 | 712 |
713 static std::string GetGnuDir(const std::string &InstalledDir, | 713 static std::string GetGnuDir(const std::string &InstalledDir, |
714 const llvm::opt::ArgList &Args); | 714 const llvm::opt::ArgList &Args); |
715 | 715 |
716 static StringRef GetTargetCPU(const llvm::opt::ArgList &Args); | 716 static StringRef GetTargetCPU(const llvm::opt::ArgList &Args); |
717 }; | 717 }; |
718 | 718 |
719 // @LOCALMOD-START Emscripten | |
720 /// EmscriptenToolChain - A toolchain for the Emscripten C/C++ to JS compiler. | |
721 class LLVM_LIBRARY_VISIBILITY EmscriptenToolChain : public ToolChain { | |
722 public: | |
723 EmscriptenToolChain(const Driver &D, const llvm::Triple &Triple, | |
724 const llvm::opt::ArgList &Args) | |
725 : ToolChain(D, Triple, Args) {} | |
726 ~EmscriptenToolChain() override {} | |
727 | |
728 bool IsMathErrnoDefault() const override { return false; } | |
729 bool IsObjCNonFragileABIDefault() const override { return true; } | |
730 bool isPICDefault() const override { return false; } | |
731 bool isPIEDefault() const override { return false; } | |
732 bool isPICDefaultForced() const override { return false; } | |
733 }; | |
734 // @LOCALMOD-END Emscripten | |
735 | |
736 class LLVM_LIBRARY_VISIBILITY NaCl_TC : public Generic_ELF { | 719 class LLVM_LIBRARY_VISIBILITY NaCl_TC : public Generic_ELF { |
737 public: | 720 public: |
738 NaCl_TC(const Driver &D, const llvm::Triple &Triple, | 721 NaCl_TC(const Driver &D, const llvm::Triple &Triple, |
739 const llvm::opt::ArgList &Args); | 722 const llvm::opt::ArgList &Args); |
740 | 723 |
741 void | 724 void |
742 AddClangSystemIncludeArgs(const llvm::opt::ArgList &DriverArgs, | 725 AddClangSystemIncludeArgs(const llvm::opt::ArgList &DriverArgs, |
743 llvm::opt::ArgStringList &CC1Args) const override; | 726 llvm::opt::ArgStringList &CC1Args) const override; |
744 void | 727 void |
745 AddClangCXXStdlibIncludeArgs(const llvm::opt::ArgList &DriverArgs, | 728 AddClangCXXStdlibIncludeArgs(const llvm::opt::ArgList &DriverArgs, |
(...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
872 llvm::opt::ArgStringList &CC1Args) const override; | 855 llvm::opt::ArgStringList &CC1Args) const override; |
873 void AddCXXStdlibLibArgs(const llvm::opt::ArgList &Args, | 856 void AddCXXStdlibLibArgs(const llvm::opt::ArgList &Args, |
874 llvm::opt::ArgStringList &CmdArgs) const override; | 857 llvm::opt::ArgStringList &CmdArgs) const override; |
875 }; | 858 }; |
876 | 859 |
877 } // end namespace toolchains | 860 } // end namespace toolchains |
878 } // end namespace driver | 861 } // end namespace driver |
879 } // end namespace clang | 862 } // end namespace clang |
880 | 863 |
881 #endif | 864 #endif |
OLD | NEW |