From bf444283e2afdeda1be4dc3b78a74b1785bccb89 Mon Sep 17 00:00:00 2001 From: Evgeniy Stepanov Date: Thu, 5 Jun 2014 11:14:00 +0000 Subject: [PATCH] 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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@210252 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Driver/SanitizerArgs.cpp | 4 ++-- test/Driver/sanitizer-ld.c | 8 ++++++++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/lib/Driver/SanitizerArgs.cpp b/lib/Driver/SanitizerArgs.cpp index c3361951ae..0a74eed4fc 100644 --- a/lib/Driver/SanitizerArgs.cpp +++ b/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/test/Driver/sanitizer-ld.c b/test/Driver/sanitizer-ld.c index cb29370783..14b14b2453 100644 --- a/test/Driver/sanitizer-ld.c +++ b/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 // -- 2.50.1