diff options
author | Alexey Samsonov <vonosmas@gmail.com> | 2015-03-11 23:34:25 +0000 |
---|---|---|
committer | Alexey Samsonov <vonosmas@gmail.com> | 2015-03-11 23:34:25 +0000 |
commit | ce2e77c771c8c564c7d37825b318a2195294bf8b (patch) | |
tree | ab7c6badbf3913ca85dcd90a6cd036dde9c3fbdd /clang/lib | |
parent | 6a778fb7c29ca696c63f2f7b327c136ef50663ef (diff) | |
download | bcm5719-llvm-ce2e77c771c8c564c7d37825b318a2195294bf8b.tar.gz bcm5719-llvm-ce2e77c771c8c564c7d37825b318a2195294bf8b.zip |
Add deprecation notice for -f(no-)sanitize-recover flags.
These flags should be replaced with corresponding
-f(no-)sanitize-recover=<list> flags.
llvm-svn: 231983
Diffstat (limited to 'clang/lib')
-rw-r--r-- | clang/lib/Driver/SanitizerArgs.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/clang/lib/Driver/SanitizerArgs.cpp b/clang/lib/Driver/SanitizerArgs.cpp index 137f122b30a..557b62f931c 100644 --- a/clang/lib/Driver/SanitizerArgs.cpp +++ b/clang/lib/Driver/SanitizerArgs.cpp @@ -251,12 +251,13 @@ SanitizerArgs::SanitizerArgs(const ToolChain &TC, uint64_t RecoverableKinds = RecoverableByDefault; uint64_t DiagnosedUnrecoverableKinds = 0; for (const auto *Arg : Args) { + const char *DeprecatedReplacement = nullptr; if (Arg->getOption().matches(options::OPT_fsanitize_recover)) { - // FIXME: Add deprecation notice, and then remove this flag. + DeprecatedReplacement = "-fsanitize-recover=undefined,integer"; RecoverableKinds |= expandGroups(LegacyFsanitizeRecoverMask); Arg->claim(); } else if (Arg->getOption().matches(options::OPT_fno_sanitize_recover)) { - // FIXME: Add deprecation notice, and then remove this flag. + DeprecatedReplacement = "-fno-sanitize-recover=undefined,integer"; RecoverableKinds &= ~expandGroups(LegacyFsanitizeRecoverMask); Arg->claim(); } else if (Arg->getOption().matches(options::OPT_fsanitize_recover_EQ)) { @@ -277,6 +278,10 @@ SanitizerArgs::SanitizerArgs(const ToolChain &TC, RecoverableKinds &= ~expandGroups(parseArgValues(D, Arg, true)); Arg->claim(); } + if (DeprecatedReplacement) { + D.Diag(diag::warn_drv_deprecated_arg) << Arg->getAsString(Args) + << DeprecatedReplacement; + } } RecoverableKinds &= Kinds; RecoverableKinds &= ~Unrecoverable; |