]> granicus.if.org Git - clang/commitdiff
[sanitizer-coverage] make sure coverage flags are not passed to clang if the driver...
authorKostya Serebryany <kcc@google.com>
Mon, 18 Apr 2016 21:30:17 +0000 (21:30 +0000)
committerKostya Serebryany <kcc@google.com>
Mon, 18 Apr 2016 21:30:17 +0000 (21:30 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@266673 91177308-0d34-0410-b5e6-96231b3b80d8

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

index 17037108abef83debcafca531c7557051bc04094..ff9a0b4ca4af5f3c80e4e289db9061e7f101828b 100644 (file)
@@ -482,6 +482,8 @@ SanitizerArgs::SanitizerArgs(const ToolChain &TC,
       if ((CoverageFeatures & CoverageTracePC) ||
           (AllAddedKinds & SupportsCoverage)) {
         Arg->claim();
+      } else {
+        CoverageFeatures = 0;
       }
     } else if (Arg->getOption().matches(options::OPT_fno_sanitize_coverage)) {
       Arg->claim();
index 19b4af43a2d10eed2675286f79711366524138af..a13b530f26511daacbf66fab1b94e7437e24428f 100644 (file)
@@ -35,6 +35,7 @@
 // RUN: %clang -target x86_64-linux-gnu -fsanitize=thread   -fsanitize-coverage=func %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-SANITIZE-COVERAGE-UNUSED
 // RUN: %clang -target x86_64-linux-gnu                     -fsanitize-coverage=func %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-SANITIZE-COVERAGE-UNUSED
 // CHECK-SANITIZE-COVERAGE-UNUSED: argument unused during compilation: '-fsanitize-coverage=func'
+// CHECK-SANITIZE-COVERAGE-UNUSED-NOT: -fsanitize-coverage-type=1
 
 // RUN: %clang -target x86_64-linux-gnu -fsanitize=address -fsanitize-coverage=func -fno-sanitize=address %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-SANITIZE-COVERAGE-SAN-DISABLED
 // CHECK-SANITIZE-COVERAGE-SAN-DISABLED-NOT: argument unused