]> granicus.if.org Git - clang/commitdiff
[sanitizer] allow -fsanitize-coverage=N w/ -fsanitize=leak, clang part
authorKostya Serebryany <kcc@google.com>
Wed, 17 Dec 2014 21:46:33 +0000 (21:46 +0000)
committerKostya Serebryany <kcc@google.com>
Wed, 17 Dec 2014 21:46:33 +0000 (21:46 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@224462 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Driver/SanitizerArgs.cpp
test/Driver/fsanitize.c

index 4d288f75e5a4ec1d24b60558593a0a69178431bc..569a51594b35aa2a0c7705fa7e63a2d1f6984896 100644 (file)
@@ -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.
index 45f8ff0daa1fad07d9c4f6769ec9dec84794c980..2d15b4d1f4242ff8effa28af143e172c4ed6c227 100644 (file)
@@ -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