summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEvgeniy Stepanov <eugeni.stepanov@gmail.com>2014-06-05 11:14:00 +0000
committerEvgeniy Stepanov <eugeni.stepanov@gmail.com>2014-06-05 11:14:00 +0000
commit6f0ae18a59d98b42fe6ce541f80b0a816fb06894 (patch)
tree5b9525cc3f1a3139ebef5b4397b494948366ed33
parent6adb20f72039661466047a9e7a9b6fd84c70a6b9 (diff)
downloadbcm5719-llvm-6f0ae18a59d98b42fe6ce541f80b0a816fb06894.tar.gz
bcm5719-llvm-6f0ae18a59d98b42fe6ce541f80b0a816fb06894.zip
Fix driver warning about -shared-libasan on Android.
Asan runtime library is always shared on Android, and -shared-libasan is no-op. Suppress the unused argument warning. llvm-svn: 210252
-rw-r--r--clang/lib/Driver/SanitizerArgs.cpp4
-rw-r--r--clang/test/Driver/sanitizer-ld.c8
2 files changed, 10 insertions, 2 deletions
diff --git a/clang/lib/Driver/SanitizerArgs.cpp b/clang/lib/Driver/SanitizerArgs.cpp
index c3361951ae2..0a74eed4fc2 100644
--- a/clang/lib/Driver/SanitizerArgs.cpp
+++ b/clang/lib/Driver/SanitizerArgs.cpp
@@ -171,8 +171,8 @@ SanitizerArgs::SanitizerArgs(const ToolChain &TC,
if (NeedsAsan) {
AsanSharedRuntime =
- (TC.getTriple().getEnvironment() == llvm::Triple::Android) ||
- Args.hasArg(options::OPT_shared_libasan);
+ Args.hasArg(options::OPT_shared_libasan) ||
+ (TC.getTriple().getEnvironment() == llvm::Triple::Android);
AsanZeroBaseShadow =
(TC.getTriple().getEnvironment() == llvm::Triple::Android);
}
diff --git a/clang/test/Driver/sanitizer-ld.c b/clang/test/Driver/sanitizer-ld.c
index cb293707838..14b14b2453a 100644
--- a/clang/test/Driver/sanitizer-ld.c
+++ b/clang/test/Driver/sanitizer-ld.c
@@ -134,6 +134,14 @@
// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
// RUN: -target arm-linux-androideabi -fsanitize=address \
// RUN: --sysroot=%S/Inputs/basic_android_tree/sysroot \
+// RUN: -shared-libasan \
+// RUN: | FileCheck --check-prefix=CHECK-ASAN-ANDROID-SHARED-LIBASAN %s
+//
+// CHECK-ASAN-ANDROID-SHARED-LIBASAN-NOT: argument unused during compilation: '-shared-libasan'
+//
+// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
+// RUN: -target arm-linux-androideabi -fsanitize=address \
+// RUN: --sysroot=%S/Inputs/basic_android_tree/sysroot \
// RUN: -shared \
// RUN: | FileCheck --check-prefix=CHECK-ASAN-ANDROID-SHARED %s
//
OpenPOWER on IntegriCloud