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 1694 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1705 if (Arg *A = Args.getLastArg(options::OPT_masm_EQ)) { | 1705 if (Arg *A = Args.getLastArg(options::OPT_masm_EQ)) { |
1706 StringRef Value = A->getValue(); | 1706 StringRef Value = A->getValue(); |
1707 if (Value == "intel" || Value == "att") { | 1707 if (Value == "intel" || Value == "att") { |
1708 CmdArgs.push_back("-mllvm"); | 1708 CmdArgs.push_back("-mllvm"); |
1709 CmdArgs.push_back(Args.MakeArgString("-x86-asm-syntax=" + Value)); | 1709 CmdArgs.push_back(Args.MakeArgString("-x86-asm-syntax=" + Value)); |
1710 } else { | 1710 } else { |
1711 getToolChain().getDriver().Diag(diag::err_drv_unsupported_option_argument) | 1711 getToolChain().getDriver().Diag(diag::err_drv_unsupported_option_argument) |
1712 << A->getOption().getName() << Value; | 1712 << A->getOption().getName() << Value; |
1713 } | 1713 } |
1714 } | 1714 } |
| 1715 |
| 1716 // @LOCALMOD-START |
| 1717 if (Args.getLastArg(options::OPT_malign_double)) { |
| 1718 CmdArgs.push_back("-mllvm"); |
| 1719 CmdArgs.push_back("-malign-double"); |
| 1720 } |
| 1721 // @LOCALMOD-END |
1715 } | 1722 } |
1716 | 1723 |
1717 static inline bool HasPICArg(const ArgList &Args) { | 1724 static inline bool HasPICArg(const ArgList &Args) { |
1718 return Args.hasArg(options::OPT_fPIC) | 1725 return Args.hasArg(options::OPT_fPIC) |
1719 || Args.hasArg(options::OPT_fpic); | 1726 || Args.hasArg(options::OPT_fpic); |
1720 } | 1727 } |
1721 | 1728 |
1722 static Arg *GetLastSmallDataThresholdArg(const ArgList &Args) { | 1729 static Arg *GetLastSmallDataThresholdArg(const ArgList &Args) { |
1723 return Args.getLastArg(options::OPT_G, | 1730 return Args.getLastArg(options::OPT_G, |
1724 options::OPT_G_EQ, | 1731 options::OPT_G_EQ, |
(...skipping 7194 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
8919 CmdArgs.push_back("-lmsvcrt"); | 8926 CmdArgs.push_back("-lmsvcrt"); |
8920 AddRunTimeLibs(TC, D, CmdArgs, Args); | 8927 AddRunTimeLibs(TC, D, CmdArgs, Args); |
8921 } | 8928 } |
8922 } | 8929 } |
8923 | 8930 |
8924 const std::string Linker = TC.GetProgramPath("ld"); | 8931 const std::string Linker = TC.GetProgramPath("ld"); |
8925 Exec = Args.MakeArgString(Linker); | 8932 Exec = Args.MakeArgString(Linker); |
8926 | 8933 |
8927 C.addCommand(llvm::make_unique<Command>(JA, *this, Exec, CmdArgs)); | 8934 C.addCommand(llvm::make_unique<Command>(JA, *this, Exec, CmdArgs)); |
8928 } | 8935 } |
OLD | NEW |