forked from OSchip/llvm-project
[arcmt] Ignore linking errors when doing ARC migration, rdar://10247606
llvm-svn: 141434
This commit is contained in:
parent
d79719b144
commit
741fab1358
|
@ -3372,6 +3372,18 @@ void darwin::Link::ConstructJob(Compilation &C, const JobAction &JA,
|
|||
// more information.
|
||||
ArgStringList CmdArgs;
|
||||
|
||||
/// Hack(tm) to ignore linking errors when we are doing ARC migration.
|
||||
if (Args.hasArg(options::OPT_ccc_arcmt_check,
|
||||
options::OPT_ccc_arcmt_migrate)) {
|
||||
for (ArgList::const_iterator I = Args.begin(), E = Args.end(); I != E; ++I)
|
||||
(*I)->claim();
|
||||
const char *Exec =
|
||||
Args.MakeArgString(getToolChain().GetProgramPath("touch"));
|
||||
CmdArgs.push_back(Output.getFilename());
|
||||
C.addCommand(new Command(JA, *this, Exec, CmdArgs));
|
||||
return;
|
||||
}
|
||||
|
||||
// I'm not sure why this particular decomposition exists in gcc, but
|
||||
// we follow suite for ease of comparison.
|
||||
AddLinkArgs(C, Args, CmdArgs);
|
||||
|
|
|
@ -1,3 +1,12 @@
|
|||
// RUN: %clang -### -ccc-arcmt-migrate /foo/bar -fsyntax-only %s 2>&1 | FileCheck %s
|
||||
|
||||
// CHECK: "-arcmt-migrate" "-arcmt-migrate-directory" "{{[^"]*}}/foo/bar"
|
||||
|
||||
// RUN: touch %t.o
|
||||
// RUN: %clang -ccc-arcmt-check -ccc-host-triple i386-apple-darwin9 -### %t.o 2> %t.log
|
||||
// RUN: FileCheck -check-prefix=LINK %s < %t.log
|
||||
// RUN: %clang -ccc-arcmt-migrate /foo/bar -ccc-host-triple i386-apple-darwin9 -### %t.o 2> %t.log
|
||||
// RUN: FileCheck -check-prefix=LINK %s < %t.log
|
||||
|
||||
// LINK-NOT: ld"
|
||||
// LINK: touch"
|
||||
|
|
Loading…
Reference in New Issue