summaryrefslogtreecommitdiffstats
path: root/clang/lib/Driver/Tools.cpp
diff options
context:
space:
mode:
authorDaniel Dunbar <daniel@zuster.org>2010-11-19 17:51:40 +0000
committerDaniel Dunbar <daniel@zuster.org>2010-11-19 17:51:40 +0000
commit6d776eb1e8d2c68669354e34627b80da62fba107 (patch)
treebdcacc9411d580418648a74d31fc816ee0e526c1 /clang/lib/Driver/Tools.cpp
parent929bd682292db248980ee729be260080f1f0ee04 (diff)
downloadbcm5719-llvm-6d776eb1e8d2c68669354e34627b80da62fba107.tar.gz
bcm5719-llvm-6d776eb1e8d2c68669354e34627b80da62fba107.zip
Driver/Darwin: Don't pass -demangle to an iOS linker, which may not understand
it. llvm-svn: 119809
Diffstat (limited to 'clang/lib/Driver/Tools.cpp')
-rw-r--r--clang/lib/Driver/Tools.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/clang/lib/Driver/Tools.cpp b/clang/lib/Driver/Tools.cpp
index 338c5418255..20977f239b5 100644
--- a/clang/lib/Driver/Tools.cpp
+++ b/clang/lib/Driver/Tools.cpp
@@ -2441,7 +2441,13 @@ void darwin::Link::AddLinkArgs(Compilation &C,
// Newer linkers support -demangle, pass it if supported and not disabled by
// the user.
- if (Version[0] >= 100 && !Args.hasArg(options::OPT_Z_Xlinker__no_demangle)) {
+ //
+ // FIXME: We temporarily avoid passing -demangle to any iOS linker, because
+ // unfortunately we can't be guaranteed that the linker version used there
+ // will match the linker version detected at configure time. We need the
+ // universal driver.
+ if (Version[0] >= 100 && !Args.hasArg(options::OPT_Z_Xlinker__no_demangle) &&
+ !getDarwinToolChain().isTargetIPhoneOS()) {
// Don't pass -demangle to ld_classic.
//
// FIXME: This is a temporary workaround, ld should be handling this.
OpenPOWER on IntegriCloud