summaryrefslogtreecommitdiffstats
path: root/Source/cmDefinitions.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'Source/cmDefinitions.cxx')
-rw-r--r--Source/cmDefinitions.cxx12
1 files changed, 5 insertions, 7 deletions
diff --git a/Source/cmDefinitions.cxx b/Source/cmDefinitions.cxx
index 4b0eed4..f2100eb 100644
--- a/Source/cmDefinitions.cxx
+++ b/Source/cmDefinitions.cxx
@@ -119,10 +119,10 @@ void cmDefinitions::ClosureImpl(std::set<std::string>& undefined,
}
//----------------------------------------------------------------------------
-std::set<std::string> cmDefinitions::ClosureKeys() const
+std::vector<std::string> cmDefinitions::ClosureKeys() const
{
- std::set<std::string> defined;
- std::set<std::string> undefined;
+ std::vector<std::string> defined;
+ std::set<std::string> bound;
cmDefinitions const* up = this;
@@ -133,11 +133,9 @@ std::set<std::string> cmDefinitions::ClosureKeys() const
mi != up->Map.end(); ++mi)
{
// Use this key if it is not already set or unset.
- if(defined.find(mi->first) == defined.end() &&
- undefined.find(mi->first) == undefined.end())
+ if(bound.insert(mi->first).second && mi->second.Exists)
{
- std::set<std::string>& m = mi->second.Exists? defined : undefined;
- m.insert(mi->first);
+ defined.push_back(mi->first);
}
}
up = up->Up;