diff options
author | Brad King <brad.king@kitware.com> | 2014-05-27 20:09:43 (GMT) |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2014-05-27 20:12:05 (GMT) |
commit | 1cd375272997cb58f0c51647cf199e4fd4eef678 (patch) | |
tree | 8b199d5618db90c12e95ff05306ee65ac372ef03 /Source/cmCacheManager.cxx | |
parent | 326d15a3294e3b43de534130a4b655ddb454fbfb (diff) | |
download | CMake-1cd375272997cb58f0c51647cf199e4fd4eef678.zip CMake-1cd375272997cb58f0c51647cf199e4fd4eef678.tar.gz CMake-1cd375272997cb58f0c51647cf199e4fd4eef678.tar.bz2 |
cmCacheManager: Avoid cache entry self-assignment
Since commit bef93dc5 (Couple of changes: cache variables now have a map
of properties, 2002-09-11) the cmCacheManager::AddCacheDefinition method
accesses its map entry by reference. However, the commit left the
original entry assignment at the end of the method. With Apple Clang
5.1 and libc++ this self-assignment destroys the cache entry property
map.
Drop the self assignment. Also drop the condition around the call to
UnwatchUnusedCli since it was a self-comparison that must always have
been true.
Diffstat (limited to 'Source/cmCacheManager.cxx')
-rw-r--r-- | Source/cmCacheManager.cxx | 6 |
1 files changed, 1 insertions, 5 deletions
diff --git a/Source/cmCacheManager.cxx b/Source/cmCacheManager.cxx index 9e0064e..cc9fa57 100644 --- a/Source/cmCacheManager.cxx +++ b/Source/cmCacheManager.cxx @@ -750,11 +750,7 @@ void cmCacheManager::AddCacheEntry(const char* key, } e.SetProperty("HELPSTRING", helpString? helpString : "(This variable does not exist and should not be used)"); - if (this->Cache[key].Value == e.Value) - { - this->CMakeInstance->UnwatchUnusedCli(key); - } - this->Cache[key] = e; + this->CMakeInstance->UnwatchUnusedCli(key); } bool cmCacheManager::CacheIterator::IsAtEnd() const |