diff options
author | Argyrios Kyrtzidis <akyrtzi@gmail.com> | 2011-10-07 22:58:08 +0000 |
---|---|---|
committer | Argyrios Kyrtzidis <akyrtzi@gmail.com> | 2011-10-07 22:58:08 +0000 |
commit | 741fab135838130423d33827a722bfdf836422a1 (patch) | |
tree | 2a0adb5bd263de507fd56405f1c61dfb170a1b63 /clang/lib/Driver/Tools.cpp | |
parent | d79719b144783c5634ba4e06e7dc2998b6b53ce3 (diff) | |
download | bcm5719-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.cpp | 12 |
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); |