This broke a WinASan test that builds with -Werror: http://lab.llvm.org:8011/builders/sanitizer-windows/builds/10647
I tried to fix it in r302043, but I haven't finished testing it yet. On Tue, May 2, 2017 at 6:27 PM, Kostya Serebryany via cfe-commits < cfe-commits@lists.llvm.org> wrote: > Author: kcc > Date: Tue May 2 20:27:28 2017 > New Revision: 301994 > > URL: http://llvm.org/viewvc/llvm-project?rev=301994&view=rev > Log: > [sanitizer-coverage] add a deprecation warning to the old > sanitizer-coverage flag combinations > > 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=301994&r1=301993&r2=301994&view=diff > ============================================================ > ================== > --- cfe/trunk/lib/Driver/SanitizerArgs.cpp (original) > +++ cfe/trunk/lib/Driver/SanitizerArgs.cpp Tue May 2 20:27:28 2017 > @@ -511,7 +511,6 @@ SanitizerArgs::SanitizerArgs(const ToolC > << "-fsanitize-coverage=edge"; > // Basic block tracing and 8-bit counters require some type of coverage > // enabled. > - int CoverageTypes = CoverageFunc | CoverageBB | CoverageEdge; > if (CoverageFeatures & CoverageTraceBB) > D.Diag(clang::diag::warn_drv_deprecated_arg) > << "-fsanitize-coverage=trace-bb" > @@ -520,9 +519,18 @@ SanitizerArgs::SanitizerArgs(const ToolC > D.Diag(clang::diag::warn_drv_deprecated_arg) > << "-fsanitize-coverage=8bit-counters" > << "-fsanitize-coverage=trace-pc-guard"; > + > + int InsertionPointTypes = CoverageFunc | CoverageBB | CoverageEdge; > + if ((CoverageFeatures & InsertionPointTypes) && > + !(CoverageFeatures &(CoverageTracePC | CoverageTracePCGuard))) { > + D.Diag(clang::diag::warn_drv_deprecated_arg) > + << "-fsanitize-coverage=[func|bb|edge]" > + << "-fsanitize-coverage=[func|bb|edge],[trace-pc-guard|trace- > pc]"; > + } > + > // trace-pc w/o func/bb/edge implies edge. > if ((CoverageFeatures & (CoverageTracePC | CoverageTracePCGuard)) && > - !(CoverageFeatures & CoverageTypes)) > + !(CoverageFeatures & InsertionPointTypes)) > CoverageFeatures |= CoverageEdge; > > if (AllAddedKinds & Address) { > > Modified: cfe/trunk/test/Driver/fsanitize-coverage.c > URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/ > fsanitize-coverage.c?rev=301994&r1=301993&r2=301994&view=diff > ============================================================ > ================== > --- cfe/trunk/test/Driver/fsanitize-coverage.c (original) > +++ cfe/trunk/test/Driver/fsanitize-coverage.c Tue May 2 20:27:28 2017 > @@ -4,12 +4,13 @@ > // CHECK-SANITIZE-COVERAGE-0-NOT: fsanitize-coverage-type > // CHECK-SANITIZE-COVERAGE-0: -fsanitize=address > > -// RUN: %clang -target x86_64-linux-gnu -fsanitize=address > -fsanitize-coverage=func %s -### 2>&1 | FileCheck %s > --check-prefix=CHECK-SANITIZE-COVERAGE-FUNC > -// RUN: %clang -target x86_64-linux-gnu -fsanitize=memory > -fsanitize-coverage=func %s -### 2>&1 | FileCheck %s > --check-prefix=CHECK-SANITIZE-COVERAGE-FUNC > -// RUN: %clang -target x86_64-linux-gnu -fsanitize=leak > -fsanitize-coverage=func %s -### 2>&1 | FileCheck %s > --check-prefix=CHECK-SANITIZE-COVERAGE-FUNC > -// RUN: %clang -target x86_64-linux-gnu -fsanitize=undefined > -fsanitize-coverage=func %s -### 2>&1 | FileCheck %s > --check-prefix=CHECK-SANITIZE-COVERAGE-FUNC > -// RUN: %clang -target x86_64-linux-gnu -fsanitize=bool > -fsanitize-coverage=func %s -### 2>&1 | FileCheck %s > --check-prefix=CHECK-SANITIZE-COVERAGE-FUNC > -// RUN: %clang -target x86_64-linux-gnu -fsanitize=dataflow > -fsanitize-coverage=func %s -### 2>&1 | FileCheck %s > --check-prefix=CHECK-SANITIZE-COVERAGE-FUNC > +// RUN: %clang -target x86_64-linux-gnu -fsanitize=address > -fsanitize-coverage=func,trace-pc %s -### 2>&1 | FileCheck %s > --check-prefix=CHECK-SANITIZE-COVERAGE-FUNC > +// RUN: %clang -target x86_64-linux-gnu -fsanitize=memory > -fsanitize-coverage=func,trace-pc %s -### 2>&1 | FileCheck %s > --check-prefix=CHECK-SANITIZE-COVERAGE-FUNC > +// RUN: %clang -target x86_64-linux-gnu -fsanitize=leak > -fsanitize-coverage=func,trace-pc %s -### 2>&1 | FileCheck %s > --check-prefix=CHECK-SANITIZE-COVERAGE-FUNC > +// RUN: %clang -target x86_64-linux-gnu -fsanitize=undefined > -fsanitize-coverage=func,trace-pc %s -### 2>&1 | FileCheck %s > --check-prefix=CHECK-SANITIZE-COVERAGE-FUNC > +// RUN: %clang -target x86_64-linux-gnu -fsanitize=bool > -fsanitize-coverage=func,trace-pc %s -### 2>&1 | FileCheck %s > --check-prefix=CHECK-SANITIZE-COVERAGE-FUNC > +// RUN: %clang -target x86_64-linux-gnu -fsanitize=dataflow > -fsanitize-coverage=func,trace-pc %s -### 2>&1 | FileCheck %s > --check-prefix=CHECK-SANITIZE-COVERAGE-FUNC > +// RUN: %clang -target x86_64-linux-gnu > -fsanitize-coverage=func,trace-pc %s -### 2>&1 | FileCheck %s > --check-prefix=CHECK-SANITIZE-COVERAGE-FUNC > // CHECK-SANITIZE-COVERAGE-FUNC: fsanitize-coverage-type=1 > > // RUN: %clang -target x86_64-linux-gnu -fsanitize=address > -fsanitize-coverage=bb %s -### 2>&1 | FileCheck %s > --check-prefix=CHECK-SANITIZE-COVERAGE-BB > @@ -25,13 +26,10 @@ > // RUN: %clang -target x86_64-linux-gnu -fsanitize=address > -fsanitize-coverage=1 %s -### 2>&1 | FileCheck %s > --check-prefix=CHECK-SANITIZE-COVERAGE-1 > // CHECK-SANITIZE-COVERAGE-1: warning: argument '-fsanitize-coverage=1' > is deprecated, use '-fsanitize-coverage=trace-pc-guard' instead > > -// 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-FUNC > -// 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 > +// RUN: %clang -target x86_64-linux-gnu -fsanitize=address > -fsanitize-coverage=func %s -### 2>&1 | FileCheck %s > --check-prefix=CHECK_FUNC_BB_EDGE_DEPRECATED > +// RUN: %clang -target x86_64-linux-gnu -fsanitize=address > -fsanitize-coverage=bb %s -### 2>&1 | FileCheck %s > --check-prefix=CHECK_FUNC_BB_EDGE_DEPRECATED > +// RUN: %clang -target x86_64-linux-gnu -fsanitize=address > -fsanitize-coverage=edge %s -### 2>&1 | FileCheck %s > --check-prefix=CHECK_FUNC_BB_EDGE_DEPRECATED > +// CHECK_FUNC_BB_EDGE_DEPRECATED: warning: argument > '-fsanitize-coverage=[func|bb|edge]' is deprecated, use > '-fsanitize-coverage=[func|bb|edge],[trace-pc-guard|trace-pc]' instead > > // RUN: %clang -target x86_64-linux-gnu -fsanitize=address > -fsanitize-coverage=edge,indirect-calls,trace-pc,trace-cmp,trace-div,trace-gep > %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-SANITIZE- > COVERAGE-FEATURES > // CHECK-SANITIZE-COVERAGE-FEATURES: -fsanitize-coverage-type=3 > @@ -82,7 +80,7 @@ > // CHECK-EXTEND-LEGACY: -fsanitize-coverage-type=1 > // CHECK-EXTEND-LEGACY: -fsanitize-coverage-trace-cmp > > -// RUN: %clang_cl --target=i386-pc-win32 -fsanitize=address > -fsanitize-coverage=func -c -### -- %s 2>&1 | FileCheck %s > -check-prefix=CLANG-CL-COVERAGE > +// RUN: %clang_cl --target=i386-pc-win32 -fsanitize=address > -fsanitize-coverage=func,trace-pc-guard -c -### -- %s 2>&1 | FileCheck %s > -check-prefix=CLANG-CL-COVERAGE > // CLANG-CL-COVERAGE-NOT: error: > // CLANG-CL-COVERAGE-NOT: warning: > // CLANG-CL-COVERAGE-NOT: argument unused > > > _______________________________________________ > cfe-commits mailing list > cfe-commits@lists.llvm.org > http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits >
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits