diff options
author | Nico Weber <nicolasweber@gmx.de> | 2016-02-18 19:32:54 +0000 |
---|---|---|
committer | Nico Weber <nicolasweber@gmx.de> | 2016-02-18 19:32:54 +0000 |
commit | 4152f522aa1c9a5f1c36465e06f306934bc9afba (patch) | |
tree | f02b7ab82494b5b44bf1d2aa1a61fc885b03d4dd | |
parent | c525d3d4c705b0f2a427a3f128d367fe0f9b1855 (diff) | |
download | bcm5719-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.cpp | 14 | ||||
-rw-r--r-- | clang/test/Driver/fsanitize-coverage.c | 2 |
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=' |