OLD | NEW |
1 //===--- Tools.cpp - Tools Implementations --------------------------------===// | 1 //===--- Tools.cpp - Tools Implementations --------------------------------===// |
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 #include "Tools.h" | 10 #include "Tools.h" |
(...skipping 1752 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1763 CmdArgs.push_back ("-enable-hexagon-ieee-rnd-near"); | 1763 CmdArgs.push_back ("-enable-hexagon-ieee-rnd-near"); |
1764 } | 1764 } |
1765 CmdArgs.push_back ("-mllvm"); | 1765 CmdArgs.push_back ("-mllvm"); |
1766 CmdArgs.push_back ("-machine-sink-split=0"); | 1766 CmdArgs.push_back ("-machine-sink-split=0"); |
1767 } | 1767 } |
1768 | 1768 |
1769 void Clang::AddLe32TargetArgs(const ArgList &Args, | 1769 void Clang::AddLe32TargetArgs(const ArgList &Args, |
1770 ArgStringList &CmdArgs) const { | 1770 ArgStringList &CmdArgs) const { |
1771 Args.ClaimAllArgs(options::OPT_emit_obj); | 1771 Args.ClaimAllArgs(options::OPT_emit_obj); |
1772 | 1772 |
1773 CmdArgs.push_back("-fno-gnu-inline-asm"); | 1773 // -fno-gnu-inline-asm is default. |
| 1774 if (!Args.hasFlag(options::OPT_fgnu_inline_asm, |
| 1775 options::OPT_fno_gnu_inline_asm, false)) |
| 1776 CmdArgs.push_back("-fno-gnu-inline-asm"); |
1774 } | 1777 } |
1775 | 1778 |
1776 // Decode AArch64 features from string like +[no]featureA+[no]featureB+... | 1779 // Decode AArch64 features from string like +[no]featureA+[no]featureB+... |
1777 static bool DecodeAArch64Features(const Driver &D, StringRef text, | 1780 static bool DecodeAArch64Features(const Driver &D, StringRef text, |
1778 std::vector<const char *> &Features) { | 1781 std::vector<const char *> &Features) { |
1779 SmallVector<StringRef, 8> Split; | 1782 SmallVector<StringRef, 8> Split; |
1780 text.split(Split, StringRef("+"), -1, false); | 1783 text.split(Split, StringRef("+"), -1, false); |
1781 | 1784 |
1782 for (unsigned I = 0, E = Split.size(); I != E; ++I) { | 1785 for (unsigned I = 0, E = Split.size(); I != E; ++I) { |
1783 const char *result = llvm::StringSwitch<const char *>(Split[I]) | 1786 const char *result = llvm::StringSwitch<const char *>(Split[I]) |
(...skipping 7335 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
9119 CmdArgs.push_back("-lmsvcrt"); | 9122 CmdArgs.push_back("-lmsvcrt"); |
9120 AddRunTimeLibs(TC, D, CmdArgs, Args); | 9123 AddRunTimeLibs(TC, D, CmdArgs, Args); |
9121 } | 9124 } |
9122 } | 9125 } |
9123 | 9126 |
9124 const std::string Linker = TC.GetProgramPath("ld"); | 9127 const std::string Linker = TC.GetProgramPath("ld"); |
9125 Exec = Args.MakeArgString(Linker); | 9128 Exec = Args.MakeArgString(Linker); |
9126 | 9129 |
9127 C.addCommand(llvm::make_unique<Command>(JA, *this, Exec, CmdArgs)); | 9130 C.addCommand(llvm::make_unique<Command>(JA, *this, Exec, CmdArgs)); |
9128 } | 9131 } |
OLD | NEW |