r266673 - [sanitizer-coverage] make sure coverage flags are not passed to clang if the driver thinks they are unused

Kostya Serebryany via cfe-commits cfe-commits at lists.llvm.org
Mon Apr 18 14:30:18 PDT 2016


Author: kcc
Date: Mon Apr 18 16:30:17 2016
New Revision: 266673

URL: http://llvm.org/viewvc/llvm-project?rev=266673&view=rev
Log:
[sanitizer-coverage] make sure coverage flags are not passed to clang if the driver thinks they are unused

Modified:
    cfe/trunk/lib/Driver/SanitizerArgs.cpp
    cfe/trunk/test/Driver/fsanitize-coverage.c

Modified: cfe/trunk/lib/Driver/SanitizerArgs.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/SanitizerArgs.cpp?rev=266673&r1=266672&r2=266673&view=diff
==============================================================================
--- cfe/trunk/lib/Driver/SanitizerArgs.cpp (original)
+++ cfe/trunk/lib/Driver/SanitizerArgs.cpp Mon Apr 18 16:30:17 2016
@@ -482,6 +482,8 @@ SanitizerArgs::SanitizerArgs(const ToolC
       if ((CoverageFeatures & CoverageTracePC) ||
           (AllAddedKinds & SupportsCoverage)) {
         Arg->claim();
+      } else {
+        CoverageFeatures = 0;
       }
     } else if (Arg->getOption().matches(options::OPT_fno_sanitize_coverage)) {
       Arg->claim();

Modified: cfe/trunk/test/Driver/fsanitize-coverage.c
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/fsanitize-coverage.c?rev=266673&r1=266672&r2=266673&view=diff
==============================================================================
--- cfe/trunk/test/Driver/fsanitize-coverage.c (original)
+++ cfe/trunk/test/Driver/fsanitize-coverage.c Mon Apr 18 16:30:17 2016
@@ -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




More information about the cfe-commits mailing list