summaryrefslogtreecommitdiffstats
path: root/clang/lib
diff options
context:
space:
mode:
authorAlexey Samsonov <vonosmas@gmail.com>2015-03-11 23:34:25 +0000
committerAlexey Samsonov <vonosmas@gmail.com>2015-03-11 23:34:25 +0000
commitce2e77c771c8c564c7d37825b318a2195294bf8b (patch)
treeab7c6badbf3913ca85dcd90a6cd036dde9c3fbdd /clang/lib
parent6a778fb7c29ca696c63f2f7b327c136ef50663ef (diff)
downloadbcm5719-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.cpp9
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;
OpenPOWER on IntegriCloud