| 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 739 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 750   std::string Linker; | 750   std::string Linker; | 
| 751 | 751 | 
| 752 protected: | 752 protected: | 
| 753   Tool *buildLinker() const override; | 753   Tool *buildLinker() const override; | 
| 754   Tool *buildAssembler() const override; | 754   Tool *buildAssembler() const override; | 
| 755 | 755 | 
| 756 private: | 756 private: | 
| 757   std::string NaClArmMacrosPath; | 757   std::string NaClArmMacrosPath; | 
| 758 }; | 758 }; | 
| 759 | 759 | 
|  | 760 class LLVM_LIBRARY_VISIBILITY Generic_BC : public ToolChain { | 
|  | 761 public: | 
|  | 762   Generic_BC(const Driver &D, const llvm::Triple &Triple, | 
|  | 763              const llvm::opt::ArgList &Args); | 
|  | 764 | 
|  | 765   bool HasNativeLLVMSupport() const override { return true; } | 
|  | 766 | 
|  | 767   bool IsIntegratedAssemblerDefault() const override {  return true; } | 
|  | 768 | 
|  | 769   bool isPICDefault() const override { return false; } | 
|  | 770   bool isPIEDefault() const override { return false; } | 
|  | 771   bool isPICDefaultForced() const override { return false; } | 
|  | 772 | 
|  | 773   bool isBitcodeOnlyTarget() const override { return true; } | 
|  | 774 }; | 
|  | 775 | 
|  | 776 class LLVM_LIBRARY_VISIBILITY PNaClToolChain : public Generic_BC { | 
|  | 777 public: | 
|  | 778   PNaClToolChain(const Driver &D, const llvm::Triple &Triple, | 
|  | 779                  const llvm::opt::ArgList &Args); | 
|  | 780 | 
|  | 781   /// Add the linker arguments to link the compiler runtime library. | 
|  | 782   virtual void AddLinkRuntimeLibArgs(const llvm::opt::ArgList &Args, | 
|  | 783                                      llvm::opt::ArgStringList &CmdArgs) const; | 
|  | 784 | 
|  | 785   CXXStdlibType GetCXXStdlibType(const llvm::opt::ArgList &Args) const override; | 
|  | 786 | 
|  | 787   void | 
|  | 788   AddClangSystemIncludeArgs(const llvm::opt::ArgList &DriverArgs, | 
|  | 789                             llvm::opt::ArgStringList &CC1Args) const override; | 
|  | 790   void AddClangCXXStdlibIncludeArgs( | 
|  | 791       const llvm::opt::ArgList &DriverArgs, | 
|  | 792       llvm::opt::ArgStringList &CC1Args) const override; | 
|  | 793   void AddCXXStdlibLibArgs(const llvm::opt::ArgList &Args, | 
|  | 794                            llvm::opt::ArgStringList &CmdArgs) const override; | 
|  | 795 | 
|  | 796   RuntimeLibType GetDefaultRuntimeLibType() const override { | 
|  | 797     return ToolChain::RLT_CompilerRT; | 
|  | 798   } | 
|  | 799 | 
|  | 800   void addClangTargetOptions(const llvm::opt::ArgList &DriverArgs, | 
|  | 801                              llvm::opt::ArgStringList &CC1Args) const override; | 
|  | 802 | 
|  | 803 protected: | 
|  | 804   Tool *buildLinker() const override; | 
|  | 805   Tool *buildAssembler() const override; | 
|  | 806 | 
|  | 807 private: | 
|  | 808   static bool addLibStdCXXIncludePaths(Twine Base, Twine Suffix, | 
|  | 809                                        StringRef GCCTriple, | 
|  | 810                                        StringRef GCCMultiarchTriple, | 
|  | 811                                        StringRef TargetMultiarchTriple, | 
|  | 812                                        Twine IncludeSuffix, | 
|  | 813                                        const llvm::opt::ArgList &DriverArgs, | 
|  | 814                                        llvm::opt::ArgStringList &CC1Args); | 
|  | 815 | 
|  | 816   std::string computeSysRoot() const; | 
|  | 817 }; | 
|  | 818 | 
| 760 /// TCEToolChain - A tool chain using the llvm bitcode tools to perform | 819 /// TCEToolChain - A tool chain using the llvm bitcode tools to perform | 
| 761 /// all subcommands. See http://tce.cs.tut.fi for our peculiar target. | 820 /// all subcommands. See http://tce.cs.tut.fi for our peculiar target. | 
| 762 class LLVM_LIBRARY_VISIBILITY TCEToolChain : public ToolChain { | 821 class LLVM_LIBRARY_VISIBILITY TCEToolChain : public ToolChain { | 
| 763 public: | 822 public: | 
| 764   TCEToolChain(const Driver &D, const llvm::Triple &Triple, | 823   TCEToolChain(const Driver &D, const llvm::Triple &Triple, | 
| 765                const llvm::opt::ArgList &Args); | 824                const llvm::opt::ArgList &Args); | 
| 766   ~TCEToolChain() override; | 825   ~TCEToolChain() override; | 
| 767 | 826 | 
| 768   bool IsMathErrnoDefault() const override; | 827   bool IsMathErrnoDefault() const override; | 
| 769   bool isPICDefault() const override; | 828   bool isPICDefault() const override; | 
| (...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 855                        llvm::opt::ArgStringList &CC1Args) const override; | 914                        llvm::opt::ArgStringList &CC1Args) const override; | 
| 856   void AddCXXStdlibLibArgs(const llvm::opt::ArgList &Args, | 915   void AddCXXStdlibLibArgs(const llvm::opt::ArgList &Args, | 
| 857                            llvm::opt::ArgStringList &CmdArgs) const override; | 916                            llvm::opt::ArgStringList &CmdArgs) const override; | 
| 858 }; | 917 }; | 
| 859 | 918 | 
| 860 } // end namespace toolchains | 919 } // end namespace toolchains | 
| 861 } // end namespace driver | 920 } // end namespace driver | 
| 862 } // end namespace clang | 921 } // end namespace clang | 
| 863 | 922 | 
| 864 #endif | 923 #endif | 
| OLD | NEW | 
|---|