aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Frontend/CompilerInvocation.cpp
diff options
context:
space:
mode:
authorNico Weber <thakis@chromium.org>2021-05-04 09:50:43 -0400
committerNico Weber <thakis@chromium.org>2021-05-04 10:24:00 -0400
commitd7ec48d71bd67118e7996c45e9c7fb1b09d4f59a (patch)
treef1258d2913c6d383fbc4d3c6a3d03f9520d312dd /clang/lib/Frontend/CompilerInvocation.cpp
parent9f37980d45c7ea05c16851b1d672ab41907a38b7 (diff)
downloadllvm-d7ec48d71bd67118e7996c45e9c7fb1b09d4f59a.zip
llvm-d7ec48d71bd67118e7996c45e9c7fb1b09d4f59a.tar.gz
llvm-d7ec48d71bd67118e7996c45e9c7fb1b09d4f59a.tar.bz2
[clang] accept -fsanitize-ignorelist= in addition to -fsanitize-blacklist=
Use that for internal names (including the default ignorelists of the sanitizers). Differential Revision: https://reviews.llvm.org/D101832
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
-rw-r--r--clang/lib/Frontend/CompilerInvocation.cpp29
1 files changed, 15 insertions, 14 deletions
diff --git a/clang/lib/Frontend/CompilerInvocation.cpp b/clang/lib/Frontend/CompilerInvocation.cpp
index b3e1e06..b2fa21e 100644
--- a/clang/lib/Frontend/CompilerInvocation.cpp
+++ b/clang/lib/Frontend/CompilerInvocation.cpp
@@ -1973,8 +1973,8 @@ GenerateDependencyOutputArgs(const DependencyOutputOptions &Opts,
for (const auto &Dep : Opts.ExtraDeps) {
switch (Dep.second) {
- case EDK_SanitizeBlacklist:
- // Sanitizer blacklist arguments are generated from LanguageOptions.
+ case EDK_SanitizeIgnorelist:
+ // Sanitizer ignorelist arguments are generated from LanguageOptions.
continue;
case EDK_ModuleFile:
// Module file arguments are generated from FrontendOptions and
@@ -2021,20 +2021,20 @@ static bool ParseDependencyOutputArgs(DependencyOutputOptions &Opts,
Opts.ShowIncludesDest = ShowIncludesDestination::None;
}
- // Add sanitizer blacklists as extra dependencies.
+ // Add sanitizer ignorelists as extra dependencies.
// They won't be discovered by the regular preprocessor, so
// we let make / ninja to know about this implicit dependency.
- if (!Args.hasArg(OPT_fno_sanitize_blacklist)) {
- for (const auto *A : Args.filtered(OPT_fsanitize_blacklist)) {
+ if (!Args.hasArg(OPT_fno_sanitize_ignorelist)) {
+ for (const auto *A : Args.filtered(OPT_fsanitize_ignorelist_EQ)) {
StringRef Val = A->getValue();
if (Val.find('=') == StringRef::npos)
- Opts.ExtraDeps.emplace_back(std::string(Val), EDK_SanitizeBlacklist);
+ Opts.ExtraDeps.emplace_back(std::string(Val), EDK_SanitizeIgnorelist);
}
if (Opts.IncludeSystemHeaders) {
- for (const auto *A : Args.filtered(OPT_fsanitize_system_blacklist)) {
+ for (const auto *A : Args.filtered(OPT_fsanitize_system_ignorelist_EQ)) {
StringRef Val = A->getValue();
if (Val.find('=') == StringRef::npos)
- Opts.ExtraDeps.emplace_back(std::string(Val), EDK_SanitizeBlacklist);
+ Opts.ExtraDeps.emplace_back(std::string(Val), EDK_SanitizeIgnorelist);
}
}
}
@@ -3485,9 +3485,9 @@ void CompilerInvocation::GenerateLangArgs(const LangOptions &Opts,
for (StringRef Sanitizer : serializeSanitizerKinds(Opts.Sanitize))
GenerateArg(Args, OPT_fsanitize_EQ, Sanitizer, SA);
- // Conflating '-fsanitize-system-blacklist' and '-fsanitize-blacklist'.
+ // Conflating '-fsanitize-system-ignorelist' and '-fsanitize-ignorelist'.
for (const std::string &F : Opts.NoSanitizeFiles)
- GenerateArg(Args, OPT_fsanitize_blacklist, F, SA);
+ GenerateArg(Args, OPT_fsanitize_ignorelist_EQ, F, SA);
if (Opts.getClangABICompat() == LangOptions::ClangABI::Ver3_8)
GenerateArg(Args, OPT_fclang_abi_compat_EQ, "3.8", SA);
@@ -3922,11 +3922,12 @@ bool CompilerInvocation::ParseLangArgs(LangOptions &Opts, ArgList &Args,
// Parse -fsanitize= arguments.
parseSanitizerKinds("-fsanitize=", Args.getAllArgValues(OPT_fsanitize_EQ),
Diags, Opts.Sanitize);
- Opts.NoSanitizeFiles = Args.getAllArgValues(OPT_fsanitize_blacklist);
- std::vector<std::string> systemBlacklists =
- Args.getAllArgValues(OPT_fsanitize_system_blacklist);
+ Opts.NoSanitizeFiles = Args.getAllArgValues(OPT_fsanitize_ignorelist_EQ);
+ std::vector<std::string> systemIgnorelists =
+ Args.getAllArgValues(OPT_fsanitize_system_ignorelist_EQ);
Opts.NoSanitizeFiles.insert(Opts.NoSanitizeFiles.end(),
- systemBlacklists.begin(), systemBlacklists.end());
+ systemIgnorelists.begin(),
+ systemIgnorelists.end());
if (Arg *A = Args.getLastArg(OPT_fclang_abi_compat_EQ)) {
Opts.setClangABICompat(LangOptions::ClangABI::Latest);