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

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

Issue 1547623002: Clang toolchain driver for PNaCl (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-clang.git@master
Patch Set: Review feedback addressed Created 4 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/ToolChains.cpp ('k') | lib/Driver/Tools.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 //===--- Tools.h - Tool Implementations -------------------------*- C++ -*-===// 1 //===--- Tools.h - Tool 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_TOOLS_H 10 #ifndef LLVM_CLANG_LIB_DRIVER_TOOLS_H
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
68 void AddR600TargetArgs(const llvm::opt::ArgList &Args, 68 void AddR600TargetArgs(const llvm::opt::ArgList &Args,
69 llvm::opt::ArgStringList &CmdArgs) const; 69 llvm::opt::ArgStringList &CmdArgs) const;
70 void AddSparcTargetArgs(const llvm::opt::ArgList &Args, 70 void AddSparcTargetArgs(const llvm::opt::ArgList &Args,
71 llvm::opt::ArgStringList &CmdArgs) const; 71 llvm::opt::ArgStringList &CmdArgs) const;
72 void AddSystemZTargetArgs(const llvm::opt::ArgList &Args, 72 void AddSystemZTargetArgs(const llvm::opt::ArgList &Args,
73 llvm::opt::ArgStringList &CmdArgs) const; 73 llvm::opt::ArgStringList &CmdArgs) const;
74 void AddX86TargetArgs(const llvm::opt::ArgList &Args, 74 void AddX86TargetArgs(const llvm::opt::ArgList &Args,
75 llvm::opt::ArgStringList &CmdArgs) const; 75 llvm::opt::ArgStringList &CmdArgs) const;
76 void AddHexagonTargetArgs(const llvm::opt::ArgList &Args, 76 void AddHexagonTargetArgs(const llvm::opt::ArgList &Args,
77 llvm::opt::ArgStringList &CmdArgs) const; 77 llvm::opt::ArgStringList &CmdArgs) const;
78 void AddLe32TargetArgs(const llvm::opt::ArgList &Args,
79 llvm::opt::ArgStringList &CmdArgs) const;
78 80
79 enum RewriteKind { RK_None, RK_Fragile, RK_NonFragile }; 81 enum RewriteKind { RK_None, RK_Fragile, RK_NonFragile };
80 82
81 ObjCRuntime AddObjCRuntimeArgs(const llvm::opt::ArgList &args, 83 ObjCRuntime AddObjCRuntimeArgs(const llvm::opt::ArgList &args,
82 llvm::opt::ArgStringList &cmdArgs, 84 llvm::opt::ArgStringList &cmdArgs,
83 RewriteKind rewrite) const; 85 RewriteKind rewrite) const;
84 86
85 void AddClangCLArgs(const llvm::opt::ArgList &Args, 87 void AddClangCLArgs(const llvm::opt::ArgList &Args,
86 llvm::opt::ArgStringList &CmdArgs) const; 88 llvm::opt::ArgStringList &CmdArgs) const;
87 89
(...skipping 441 matching lines...) Expand 10 before | Expand all | Expand 10 after
529 Link(const ToolChain &TC) : gnutools::Link(TC) {} 531 Link(const ToolChain &TC) : gnutools::Link(TC) {}
530 532
531 void ConstructJob(Compilation &C, const JobAction &JA, 533 void ConstructJob(Compilation &C, const JobAction &JA,
532 const InputInfo &Output, 534 const InputInfo &Output,
533 const InputInfoList &Inputs, 535 const InputInfoList &Inputs,
534 const llvm::opt::ArgList &TCArgs, 536 const llvm::opt::ArgList &TCArgs,
535 const char *LinkingOutput) const override; 537 const char *LinkingOutput) const override;
536 }; 538 };
537 } 539 }
538 540
541 namespace pnacltools {
542 class LLVM_LIBRARY_VISIBILITY Link : public Tool {
543 public:
544 Link(const ToolChain &TC) : Tool("PNaCl::Link", "linker", TC) {}
545
546 bool hasIntegratedCPP() const override { return false; }
547 bool isLinkJob() const override { return true; }
548
549 void ConstructJob(Compilation &C, const JobAction &JA,
550 const InputInfo &Output,
551 const InputInfoList &Inputs,
552 const llvm::opt::ArgList &TCArgs,
553 const char *LinkingOutput) const override;
554 };
555 }
556
539 /// minix -- Directly call GNU Binutils assembler and linker 557 /// minix -- Directly call GNU Binutils assembler and linker
540 namespace minix { 558 namespace minix {
541 class LLVM_LIBRARY_VISIBILITY Assemble : public GnuTool { 559 class LLVM_LIBRARY_VISIBILITY Assemble : public GnuTool {
542 public: 560 public:
543 Assemble(const ToolChain &TC) : GnuTool("minix::Assemble", "assembler", 561 Assemble(const ToolChain &TC) : GnuTool("minix::Assemble", "assembler",
544 TC) {} 562 TC) {}
545 563
546 bool hasIntegratedCPP() const override { return false; } 564 bool hasIntegratedCPP() const override { return false; }
547 565
548 void ConstructJob(Compilation &C, const JobAction &JA, 566 void ConstructJob(Compilation &C, const JobAction &JA,
(...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after
719 const llvm::opt::ArgList &TCArgs, 737 const llvm::opt::ArgList &TCArgs,
720 const char *LinkingOutput) const override; 738 const char *LinkingOutput) const override;
721 }; 739 };
722 } 740 }
723 741
724 } // end namespace toolchains 742 } // end namespace toolchains
725 } // end namespace driver 743 } // end namespace driver
726 } // end namespace clang 744 } // end namespace clang
727 745
728 #endif 746 #endif
OLDNEW
« no previous file with comments | « lib/Driver/ToolChains.cpp ('k') | lib/Driver/Tools.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698