From: Kostya Serebryany Date: Wed, 17 Dec 2014 21:46:33 +0000 (+0000) Subject: [sanitizer] allow -fsanitize-coverage=N w/ -fsanitize=leak, clang part X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=9f988c44c935f42d9a131726302a7f997f2b3b37;p=clang [sanitizer] allow -fsanitize-coverage=N w/ -fsanitize=leak, clang part git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@224462 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Driver/SanitizerArgs.cpp b/lib/Driver/SanitizerArgs.cpp index 4d288f75e5..569a51594b 100644 --- a/lib/Driver/SanitizerArgs.cpp +++ b/lib/Driver/SanitizerArgs.cpp @@ -297,8 +297,8 @@ SanitizerArgs::SanitizerArgs(const ToolChain &TC, } } - // Parse -fsanitize-coverage=N - if (NeedsAsan || NeedsMsan) { // Currently asan or msan is required. + // Parse -fsanitize-coverage=N. Currently one of asan/msan/lsan is required. + if (NeedsAsan || NeedsMsan || NeedsLsan) { if (Arg *A = Args.getLastArg(options::OPT_fsanitize_coverage)) { StringRef S = A->getValue(); // Legal values are 0..4. diff --git a/test/Driver/fsanitize.c b/test/Driver/fsanitize.c index 45f8ff0daa..2d15b4d1f4 100644 --- a/test/Driver/fsanitize.c +++ b/test/Driver/fsanitize.c @@ -85,6 +85,7 @@ // CHECK-SANITIZE-COVERAGE-0-NOT: fsanitize-coverage // RUN: %clang -target x86_64-linux-gnu -fsanitize=address -fsanitize-coverage=1 %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-SANITIZE-COVERAGE-1 // RUN: %clang -target x86_64-linux-gnu -fsanitize=memory -fsanitize-coverage=1 %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-SANITIZE-COVERAGE-1 +// RUN: %clang -target x86_64-linux-gnu -fsanitize=leak -fsanitize-coverage=1 %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-SANITIZE-COVERAGE-1 // CHECK-SANITIZE-COVERAGE-1: fsanitize-coverage=1 // RUN: %clang -target x86_64-linux-gnu -fsanitize=address -fsanitize-coverage=4 %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-SANITIZE-COVERAGE-4 // CHECK-SANITIZE-COVERAGE-4: fsanitize-coverage=4