summaryrefslogtreecommitdiffstats
path: root/clang/lib/StaticAnalyzer/Frontend/CheckerRegistry.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'clang/lib/StaticAnalyzer/Frontend/CheckerRegistry.cpp')
-rw-r--r--clang/lib/StaticAnalyzer/Frontend/CheckerRegistry.cpp12
1 files changed, 8 insertions, 4 deletions
diff --git a/clang/lib/StaticAnalyzer/Frontend/CheckerRegistry.cpp b/clang/lib/StaticAnalyzer/Frontend/CheckerRegistry.cpp
index 4267d8a2cdc..7eef09b8833 100644
--- a/clang/lib/StaticAnalyzer/Frontend/CheckerRegistry.cpp
+++ b/clang/lib/StaticAnalyzer/Frontend/CheckerRegistry.cpp
@@ -309,27 +309,31 @@ void CheckerRegistry::addDependency(StringRef FullName, StringRef Dependency) {
template <class T>
static void
insertOptionToCollection(StringRef FullName, T &Collection,
- const CheckerRegistry::CmdLineOption &&Option) {
+ const CheckerRegistry::CmdLineOption &Option,
+ AnalyzerOptions &AnOpts) {
auto It = binaryFind(Collection, FullName);
assert(It != Collection.end() &&
"Failed to find the checker while attempting to add a command line "
"option to it!");
- It->CmdLineOptions.emplace_back(std::move(Option));
+ AnOpts.Config.insert(
+ {(FullName + ":" + Option.OptionName).str(), Option.DefaultValStr});
+
+ It->CmdLineOptions.emplace_back(Option);
}
void CheckerRegistry::resolveCheckerAndPackageOptions() {
for (const std::pair<StringRef, CmdLineOption> &CheckerOptEntry :
CheckerOptions) {
insertOptionToCollection(CheckerOptEntry.first, Checkers,
- std::move(CheckerOptEntry.second));
+ CheckerOptEntry.second, AnOpts);
}
CheckerOptions.clear();
for (const std::pair<StringRef, CmdLineOption> &PackageOptEntry :
PackageOptions) {
insertOptionToCollection(PackageOptEntry.first, Checkers,
- std::move(PackageOptEntry.second));
+ PackageOptEntry.second, AnOpts);
}
PackageOptions.clear();
}
OpenPOWER on IntegriCloud