Use AddDarwinArch for passing arch name to assembler.

llvm-svn: 81368
This commit is contained in:
Daniel Dunbar 2009-09-09 18:36:27 +00:00
parent e9ded43d1d
commit 3571dd90cf
1 changed files with 5 additions and 6 deletions

View File

@ -1284,10 +1284,12 @@ void darwin::Assemble::ConstructJob(Compilation &C, const JobAction &JA,
} }
// Derived from asm spec. // Derived from asm spec.
CmdArgs.push_back("-arch"); AddDarwinArch(Args, CmdArgs);
CmdArgs.push_back(Args.MakeArgString(getToolChain().getArchName().c_str()));
if (!getDarwinToolChain().isIPhone() ||
Args.hasArg(options::OPT_force__cpusubtype__ALL))
CmdArgs.push_back("-force_cpusubtype_ALL");
CmdArgs.push_back("-force_cpusubtype_ALL");
if (getToolChain().getTriple().getArch() != llvm::Triple::x86_64 && if (getToolChain().getTriple().getArch() != llvm::Triple::x86_64 &&
(Args.hasArg(options::OPT_mkernel) || (Args.hasArg(options::OPT_mkernel) ||
Args.hasArg(options::OPT_static) || Args.hasArg(options::OPT_static) ||
@ -1409,9 +1411,6 @@ void darwin::DarwinTool::AddDarwinArch(const ArgList &Args,
break; break;
case llvm::Triple::arm: { case llvm::Triple::arm: {
// FIXME: gcc isn't actually following this, it looks like the arch is
// getting forced somewhere else (translation?).
if (const Arg *A = Args.getLastArg(options::OPT_march_EQ)) { if (const Arg *A = Args.getLastArg(options::OPT_march_EQ)) {
if (const char *Arch = GetArmArchForMArch(A->getValue(Args))) { if (const char *Arch = GetArmArchForMArch(A->getValue(Args))) {
CmdArgs.push_back(Arch); CmdArgs.push_back(Arch);