diff options
author | Stephen Kelly <steveire@gmail.com> | 2015-05-17 13:20:38 (GMT) |
---|---|---|
committer | Stephen Kelly <steveire@gmail.com> | 2015-05-19 20:36:52 (GMT) |
commit | f58c3774d15f16ea287ca52fcbd04c17f0a5612d (patch) | |
tree | 55d033e423d29e9cb898423a59010c15fa1d11ee /Source | |
parent | ea7b962be2f157f60f143725948e56b2f9f07042 (diff) | |
download | CMake-f58c3774d15f16ea287ca52fcbd04c17f0a5612d.zip CMake-f58c3774d15f16ea287ca52fcbd04c17f0a5612d.tar.gz CMake-f58c3774d15f16ea287ca52fcbd04c17f0a5612d.tar.bz2 |
cmMakefile: Mark definitions explicitly erased, even at top level.
Presumably the intention here is to attempt to optimize memory by not
storing what is not needed. However, all keys need to be tracked
anyway to implement initialization tracking, and this special case
gets in the way of simplifying the implementation of that.
This doesn't change any observable effects because values set
to 0 are considered not to exist by the cmDefinitions API.
Diffstat (limited to 'Source')
-rw-r--r-- | Source/cmDefinitions.cxx | 5 | ||||
-rw-r--r-- | Source/cmDefinitions.h | 2 | ||||
-rw-r--r-- | Source/cmMakefile.cxx | 10 |
3 files changed, 1 insertions, 16 deletions
diff --git a/Source/cmDefinitions.cxx b/Source/cmDefinitions.cxx index d7b6279..97a16ea 100644 --- a/Source/cmDefinitions.cxx +++ b/Source/cmDefinitions.cxx @@ -61,11 +61,6 @@ void cmDefinitions::Set(const std::string& key, const char* value) this->Map[key] = def; } -void cmDefinitions::Erase(const std::string& key) -{ - this->Map.erase(key); -} - //---------------------------------------------------------------------------- std::vector<std::string> cmDefinitions::LocalKeys() const { diff --git a/Source/cmDefinitions.h b/Source/cmDefinitions.h index 17b9c7c..894ff7a 100644 --- a/Source/cmDefinitions.h +++ b/Source/cmDefinitions.h @@ -43,8 +43,6 @@ public: /** Set (or unset if null) a value associated with a key. */ void Set(const std::string& key, const char* value); - void Erase(const std::string& key); - /** Get the set of all local keys. */ std::vector<std::string> LocalKeys() const; diff --git a/Source/cmMakefile.cxx b/Source/cmMakefile.cxx index adba110..ad48bb7 100644 --- a/Source/cmMakefile.cxx +++ b/Source/cmMakefile.cxx @@ -76,15 +76,7 @@ public: void RemoveDefinition(std::string const& name) { - if (this->VarStack.size() > 1) - { - // In lower scopes we store keys, defined or not. - this->VarStack.back().Set(name, 0); - } - else - { - this->VarStack.back().Erase(name); - } + this->VarStack.back().Set(name, 0); } std::vector<std::string> LocalKeys() const |