OLD | NEW |
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 Loading... |
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 Loading... |
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 Loading... |
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 |
OLD | NEW |