summaryrefslogtreecommitdiffstats
path: root/clang/lib/Driver/Tools.cpp
diff options
context:
space:
mode:
authorArgyrios Kyrtzidis <akyrtzi@gmail.com>2011-10-07 22:58:08 +0000
committerArgyrios Kyrtzidis <akyrtzi@gmail.com>2011-10-07 22:58:08 +0000
commit741fab135838130423d33827a722bfdf836422a1 (patch)
tree2a0adb5bd263de507fd56405f1c61dfb170a1b63 /clang/lib/Driver/Tools.cpp
parentd79719b144783c5634ba4e06e7dc2998b6b53ce3 (diff)
downloadbcm5719-llvm-741fab135838130423d33827a722bfdf836422a1.tar.gz
bcm5719-llvm-741fab135838130423d33827a722bfdf836422a1.zip
[arcmt] Ignore linking errors when doing ARC migration, rdar://10247606
llvm-svn: 141434
Diffstat (limited to 'clang/lib/Driver/Tools.cpp')
-rw-r--r--clang/lib/Driver/Tools.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/clang/lib/Driver/Tools.cpp b/clang/lib/Driver/Tools.cpp
index 1e8dcb7090c..648da87c8e6 100644
--- a/clang/lib/Driver/Tools.cpp
+++ b/clang/lib/Driver/Tools.cpp
@@ -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);
OpenPOWER on IntegriCloud