summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNico Weber <nicolasweber@gmx.de>2016-02-18 19:32:54 +0000
committerNico Weber <nicolasweber@gmx.de>2016-02-18 19:32:54 +0000
commit4152f522aa1c9a5f1c36465e06f306934bc9afba (patch)
treef02b7ab82494b5b44bf1d2aa1a61fc885b03d4dd
parentc525d3d4c705b0f2a427a3f128d367fe0f9b1855 (diff)
downloadbcm5719-llvm-4152f522aa1c9a5f1c36465e06f306934bc9afba.tar.gz
bcm5719-llvm-4152f522aa1c9a5f1c36465e06f306934bc9afba.zip
Make deprecation message for -fsanitize-coverage= with numeric argument friendlier.
http://reviews.llvm.org/D17397 llvm-svn: 261247
-rw-r--r--clang/lib/Driver/SanitizerArgs.cpp14
-rw-r--r--clang/test/Driver/fsanitize-coverage.c2
2 files changed, 12 insertions, 4 deletions
diff --git a/clang/lib/Driver/SanitizerArgs.cpp b/clang/lib/Driver/SanitizerArgs.cpp
index 10a506df713..9b60407ab20 100644
--- a/clang/lib/Driver/SanitizerArgs.cpp
+++ b/clang/lib/Driver/SanitizerArgs.cpp
@@ -444,23 +444,31 @@ SanitizerArgs::SanitizerArgs(const ToolChain &TC,
!StringRef(Arg->getValue(0))
.getAsInteger(0, LegacySanitizeCoverage) &&
LegacySanitizeCoverage >= 0 && LegacySanitizeCoverage <= 4) {
- D.Diag(diag::warn_drv_deprecated_arg)
- << Arg->getAsString(Args) << "-fsanitize-coverage=[func,bb,edge]";
- // TODO: Add deprecation notice for this form.
switch (LegacySanitizeCoverage) {
case 0:
+ D.Diag(diag::warn_drv_deprecated_arg) << Arg->getAsString(Args)
+ << "-fsanitize-coverage=";
CoverageFeatures = 0;
break;
case 1:
+ D.Diag(diag::warn_drv_deprecated_arg) << Arg->getAsString(Args)
+ << "-fsanitize-coverage=func";
CoverageFeatures = CoverageFunc;
break;
case 2:
+ D.Diag(diag::warn_drv_deprecated_arg) << Arg->getAsString(Args)
+ << "-fsanitize-coverage=bb";
CoverageFeatures = CoverageBB;
break;
case 3:
+ D.Diag(diag::warn_drv_deprecated_arg) << Arg->getAsString(Args)
+ << "-fsanitize-coverage=edge";
CoverageFeatures = CoverageEdge;
break;
case 4:
+ D.Diag(diag::warn_drv_deprecated_arg)
+ << Arg->getAsString(Args)
+ << "-fsanitize-coverage=edge,indirect-calls";
CoverageFeatures = CoverageEdge | CoverageIndirCall;
break;
}
diff --git a/clang/test/Driver/fsanitize-coverage.c b/clang/test/Driver/fsanitize-coverage.c
index 2e12ff334f6..3bb5deb9610 100644
--- a/clang/test/Driver/fsanitize-coverage.c
+++ b/clang/test/Driver/fsanitize-coverage.c
@@ -22,7 +22,7 @@
// CHECK-SANITIZE-COVERAGE-FUNC_INDIR: fsanitize-coverage-indirect-calls
// RUN: %clang -target x86_64-linux-gnu -fsanitize=address -fsanitize-coverage=3 %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-SANITIZE-COVERAGE-3
-// CHECK-SANITIZE-COVERAGE-3: warning: argument '-fsanitize-coverage=3' is deprecated, use '-fsanitize-coverage=[func,bb,edge]' instead
+// CHECK-SANITIZE-COVERAGE-3: warning: argument '-fsanitize-coverage=3' is deprecated, use '-fsanitize-coverage=edge' instead
//
// RUN: %clang -target x86_64-linux-gnu -fsanitize=address -fsanitize-coverage=5 %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-SANITIZE-COVERAGE-5
// CHECK-SANITIZE-COVERAGE-5: error: unsupported argument '5' to option 'fsanitize-coverage='
OpenPOWER on IntegriCloud