Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(253)

Side by Side Diff: lib/Driver/ToolChains.h

Issue 1022123003: clang: add support for asmjs arch and Emscripten OS (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-clang.git@master
Patch Set: Address comments. Created 5 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « lib/Driver/Driver.cpp ('k') | test/CodeGen/emscripten-arguments.c » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 697 matching lines...) Expand 10 before | Expand all | Expand 10 after
708 CXXStdlibType GetCXXStdlibType(const llvm::opt::ArgList &Args) const override; 708 CXXStdlibType GetCXXStdlibType(const llvm::opt::ArgList &Args) const override;
709 709
710 StringRef GetGCCLibAndIncVersion() const { return GCCLibAndIncVersion.Text; } 710 StringRef GetGCCLibAndIncVersion() const { return GCCLibAndIncVersion.Text; }
711 711
712 static std::string GetGnuDir(const std::string &InstalledDir, 712 static std::string GetGnuDir(const std::string &InstalledDir,
713 const llvm::opt::ArgList &Args); 713 const llvm::opt::ArgList &Args);
714 714
715 static StringRef GetTargetCPU(const llvm::opt::ArgList &Args); 715 static StringRef GetTargetCPU(const llvm::opt::ArgList &Args);
716 }; 716 };
717 717
718 // @LOCALMOD-START Emscripten
719 /// EmscriptenToolChain - A toolchain for the Emscripten C/C++ to JS compiler.
720 class LLVM_LIBRARY_VISIBILITY EmscriptenToolChain : public ToolChain {
721 public:
722 EmscriptenToolChain(const Driver &D, const llvm::Triple &Triple,
723 const llvm::opt::ArgList &Args)
724 : ToolChain(D, Triple, Args) {}
725 ~EmscriptenToolChain() override {}
726
727 bool IsMathErrnoDefault() const override { return false; }
728 bool IsObjCNonFragileABIDefault() const override { return true; }
729 bool isPICDefault() const override { return false; }
730 bool isPIEDefault() const override { return false; }
731 bool isPICDefaultForced() const override { return false; }
732 };
733 // @LOCALMOD-END Emscripten
734
718 // @LOCALMOD-START 735 // @LOCALMOD-START
719 class LLVM_LIBRARY_VISIBILITY NaCl_TC : public Generic_ELF { 736 class LLVM_LIBRARY_VISIBILITY NaCl_TC : public Generic_ELF {
720 public: 737 public:
721 NaCl_TC(const Driver &D, const llvm::Triple &Triple, 738 NaCl_TC(const Driver &D, const llvm::Triple &Triple,
722 const llvm::opt::ArgList &Args); 739 const llvm::opt::ArgList &Args);
723 740
724 void 741 void
725 AddClangSystemIncludeArgs(const llvm::opt::ArgList &DriverArgs, 742 AddClangSystemIncludeArgs(const llvm::opt::ArgList &DriverArgs,
726 llvm::opt::ArgStringList &CC1Args) const override; 743 llvm::opt::ArgStringList &CC1Args) const override;
727 void 744 void
(...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after
855 llvm::opt::ArgStringList &CC1Args) const override; 872 llvm::opt::ArgStringList &CC1Args) const override;
856 void AddCXXStdlibLibArgs(const llvm::opt::ArgList &Args, 873 void AddCXXStdlibLibArgs(const llvm::opt::ArgList &Args,
857 llvm::opt::ArgStringList &CmdArgs) const override; 874 llvm::opt::ArgStringList &CmdArgs) const override;
858 }; 875 };
859 876
860 } // end namespace toolchains 877 } // end namespace toolchains
861 } // end namespace driver 878 } // end namespace driver
862 } // end namespace clang 879 } // end namespace clang
863 880
864 #endif 881 #endif
OLDNEW
« no previous file with comments | « lib/Driver/Driver.cpp ('k') | test/CodeGen/emscripten-arguments.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698