]> granicus.if.org Git - clang/commitdiff
document -f[no-]sanitize-recover=all and mention it in warning messages
authorKostya Serebryany <kcc@google.com>
Wed, 4 May 2016 20:21:47 +0000 (20:21 +0000)
committerKostya Serebryany <kcc@google.com>
Wed, 4 May 2016 20:21:47 +0000 (20:21 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@268540 91177308-0d34-0410-b5e6-96231b3b80d8

docs/UsersManual.rst
lib/Driver/SanitizerArgs.cpp
test/Driver/fsanitize.c

index 7a9bdb96c5bfadec5f08115ec752128b0bd0af80..018466db3ec63e921c1f385cca5f96cee35d64b5 100644 (file)
@@ -985,6 +985,7 @@ are listed below.
    program.
 
 **-f[no-]sanitize-recover=check1,check2,...**
+**-f[no-]sanitize-recover=all**
 
    Controls which checks enabled by ``-fsanitize=`` flag are non-fatal.
    If the check is fatal, program will halt after the first error
index c63ff4be8a70a321d8fdbd8dcd59ffd7de03f633..5e6af4bd5c152c28cf4caf684ef6573d22282402 100644 (file)
@@ -340,11 +340,13 @@ SanitizerArgs::SanitizerArgs(const ToolChain &TC,
   for (const auto *Arg : Args) {
     const char *DeprecatedReplacement = nullptr;
     if (Arg->getOption().matches(options::OPT_fsanitize_recover)) {
-      DeprecatedReplacement = "-fsanitize-recover=undefined,integer";
+      DeprecatedReplacement =
+          "-fsanitize-recover=undefined,integer' or '-fsanitize-recover=all";
       RecoverableKinds |= expandSanitizerGroups(LegacyFsanitizeRecoverMask);
       Arg->claim();
     } else if (Arg->getOption().matches(options::OPT_fno_sanitize_recover)) {
-      DeprecatedReplacement = "-fno-sanitize-recover=undefined,integer";
+      DeprecatedReplacement = "-fno-sanitize-recover=undefined,integer' or "
+                              "'-fno-sanitize-recover=all";
       RecoverableKinds &= ~expandSanitizerGroups(LegacyFsanitizeRecoverMask);
       Arg->claim();
     } else if (Arg->getOption().matches(options::OPT_fsanitize_recover_EQ)) {
index 40cd49525ef85df161818715de6ee117251d40a2..2230ddb5c41dbf8d7b91b8695d22484aa371fef0 100644 (file)
 // CHECK-DIAG-RECOVER: unsupported argument 'unreachable' to option 'fsanitize-recover='
 
 // RUN: %clang -target x86_64-linux-gnu %s -fsanitize=undefined -fsanitize-recover -fno-sanitize-recover -### 2>&1 | FileCheck %s --check-prefix=CHECK-DEPRECATED-RECOVER
-// CHECK-DEPRECATED-RECOVER: argument '-fsanitize-recover' is deprecated, use '-fsanitize-recover=undefined,integer' instead
-// CHECK-DEPRECATED-RECOVER: argument '-fno-sanitize-recover' is deprecated, use '-fno-sanitize-recover=undefined,integer' instead
+// CHECK-DEPRECATED-RECOVER: argument '-fsanitize-recover' is deprecated, use '-fsanitize-recover=undefined,integer' or '-fsanitize-recover=all' instead
+// CHECK-DEPRECATED-RECOVER: argument '-fno-sanitize-recover' is deprecated, use '-fno-sanitize-recover=undefined,integer' or '-fno-sanitize-recover=all' instead
 // CHECK-DEPRECATED-RECOVER-NOT: is deprecated
 
 // RUN: %clang -target x86_64-linux-gnu -fsanitize=leak %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-SANL