summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBob Wilson <bob.wilson@apple.com>2012-08-07 19:58:00 +0000
committerBob Wilson <bob.wilson@apple.com>2012-08-07 19:58:00 +0000
commit29536fcbd5690ef39ea0b6d81b14eec51920ea05 (patch)
treeca74059d38487654d954aa1c15fc08cfc26cf19e
parent7c88d2ae0f574f16648d726ab92cec7b289fb416 (diff)
downloadbcm5719-llvm-29536fcbd5690ef39ea0b6d81b14eec51920ea05.tar.gz
bcm5719-llvm-29536fcbd5690ef39ea0b6d81b14eec51920ea05.zip
Don't complain about -fobjc-link-runtime being unused with -fobjc-arc.
If you build with -fobjc-arc, then -fobjc-link-runtime is implied but we don't need to warn about it being unused in that case. rdar://12039965 llvm-svn: 161444
-rw-r--r--clang/lib/Driver/Tools.cpp4
-rw-r--r--clang/test/Driver/arclite-link.c4
2 files changed, 7 insertions, 1 deletions
diff --git a/clang/lib/Driver/Tools.cpp b/clang/lib/Driver/Tools.cpp
index a0963824000..fcd61b7e0b6 100644
--- a/clang/lib/Driver/Tools.cpp
+++ b/clang/lib/Driver/Tools.cpp
@@ -174,8 +174,10 @@ static bool isObjCAutoRefCount(const ArgList &Args) {
/// \brief Determine whether we are linking the ObjC runtime.
static bool isObjCRuntimeLinked(const ArgList &Args) {
- if (isObjCAutoRefCount(Args))
+ if (isObjCAutoRefCount(Args)) {
+ Args.ClaimAllArgs(options::OPT_fobjc_link_runtime);
return true;
+ }
return Args.hasArg(options::OPT_fobjc_link_runtime);
}
diff --git a/clang/test/Driver/arclite-link.c b/clang/test/Driver/arclite-link.c
index 735555f9170..3471bf6516a 100644
--- a/clang/test/Driver/arclite-link.c
+++ b/clang/test/Driver/arclite-link.c
@@ -11,3 +11,7 @@
// CHECK-ARCLITE-OSX: -lobjc
// CHECK-NOARCLITE-NOT: libarclite
// CHECK-NOSTDLIB-NOT: -lobjc
+
+// RUN: %clang -### -target x86_64-apple-darwin10 -fobjc-link-runtime -fobjc-arc -mmacosx-version-min=10.7 %s 2>&1 | FileCheck -check-prefix=CHECK-UNUSED %s
+
+// CHECK-UNUSED-NOT: warning: argument unused during compilation: '-fobjc-link-runtime'
OpenPOWER on IntegriCloud