cmMakefile: Use std::unordered_map::emplace to add cmTargets to the list

When adding cmTargets to a cmMakefile, use std::unordered_map::emplace instead
of std::unordered_map::insert.
This commit is contained in:
Sebastian Holtermann
2019-03-21 20:06:00 +01:00
parent e09c606eb4
commit 204c5ccb43
2 changed files with 10 additions and 9 deletions
+9 -7
View File
@@ -1214,14 +1214,16 @@ void cmGlobalGenerator::Configure()
this->ConfigureDoneCMP0026AndCMP0024 = true;
// Put a copy of each global target in every directory.
std::vector<GlobalTargetInfo> globalTargets;
this->CreateDefaultGlobalTargets(globalTargets);
{
std::vector<GlobalTargetInfo> globalTargets;
this->CreateDefaultGlobalTargets(globalTargets);
for (cmMakefile* mf : this->Makefiles) {
cmTargets* targets = &(mf->GetTargets());
for (GlobalTargetInfo const& globalTarget : globalTargets) {
targets->insert(cmTargets::value_type(
globalTarget.Name, this->CreateGlobalTarget(globalTarget, mf)));
for (cmMakefile* mf : this->Makefiles) {
auto& targets = mf->GetTargets();
for (GlobalTargetInfo const& globalTarget : globalTargets) {
targets.emplace(globalTarget.Name,
this->CreateGlobalTarget(globalTarget, mf));
}
}
}
+1 -2
View File
@@ -2023,8 +2023,7 @@ cmTarget* cmMakefile::AddNewTarget(cmStateEnums::TargetType type,
{
cmTargets::iterator it =
this->Targets
.insert(cmTargets::value_type(
name, cmTarget(name, type, cmTarget::VisibilityNormal, this)))
.emplace(name, cmTarget(name, type, cmTarget::VisibilityNormal, this))
.first;
this->GetGlobalGenerator()->IndexTarget(&it->second);
this->GetStateSnapshot().GetDirectory().AddNormalTargetName(name);