This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "CMake".
The branch, next has been updated via ab0a98c2c8840df13671fbc50e395a3f5083bf8c (commit) via 1cd375272997cb58f0c51647cf199e4fd4eef678 (commit) via 326d15a3294e3b43de534130a4b655ddb454fbfb (commit) from 6b39c8f83cf57b9196e0477d84bbe4c2b5b7ce93 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=ab0a98c2c8840df13671fbc50e395a3f5083bf8c commit ab0a98c2c8840df13671fbc50e395a3f5083bf8c Merge: 6b39c8f 1cd3752 Author: Brad King <brad.k...@kitware.com> AuthorDate: Tue May 27 16:21:41 2014 -0400 Commit: CMake Topic Stage <kwro...@kitware.com> CommitDate: Tue May 27 16:21:41 2014 -0400 Merge topic 'fix-cache-self-assignment' into next 1cd37527 cmCacheManager: Avoid cache entry self-assignment 326d15a3 cmake: Tolerate missing HELPSTRING on compiler change diff --cc Source/cmake.cxx index f5ffaba,4f14d73..60e92a0 --- a/Source/cmake.cxx +++ b/Source/cmake.cxx @@@ -1233,10 -1228,13 +1233,13 @@@ int cmake::HandleDeleteCacheVariables(c i++; save.value = *i; warning << *i << "\n"; - if(ci.Find(save.key.c_str())) + if(ci.Find(save.key)) { save.type = ci.GetType(); - save.help = ci.GetProperty("HELPSTRING"); + if(const char* help = ci.GetProperty("HELPSTRING")) + { + save.help = help; + } } saved.push_back(save); } http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=1cd375272997cb58f0c51647cf199e4fd4eef678 commit 1cd375272997cb58f0c51647cf199e4fd4eef678 Author: Brad King <brad.k...@kitware.com> AuthorDate: Tue May 27 16:09:43 2014 -0400 Commit: Brad King <brad.k...@kitware.com> CommitDate: Tue May 27 16:12:05 2014 -0400 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. 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 http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=326d15a3294e3b43de534130a4b655ddb454fbfb commit 326d15a3294e3b43de534130a4b655ddb454fbfb Author: Brad King <brad.k...@kitware.com> AuthorDate: Tue May 27 16:03:51 2014 -0400 Commit: Brad King <brad.k...@kitware.com> CommitDate: Tue May 27 16:11:04 2014 -0400 cmake: Tolerate missing HELPSTRING on compiler change Teach cmake::HandleDeleteCacheVariables to tolerate a missing HELPSTRING (NULL pointer) when saving cache entries. In the absence of other bugs this should not be possible, but avoid the crash just in case. diff --git a/Source/cmake.cxx b/Source/cmake.cxx index abbabe7..4f14d73 100644 --- a/Source/cmake.cxx +++ b/Source/cmake.cxx @@ -1231,7 +1231,10 @@ int cmake::HandleDeleteCacheVariables(const char* var) if(ci.Find(save.key.c_str())) { save.type = ci.GetType(); - save.help = ci.GetProperty("HELPSTRING"); + if(const char* help = ci.GetProperty("HELPSTRING")) + { + save.help = help; + } } saved.push_back(save); } ----------------------------------------------------------------------- Summary of changes: Source/cmCacheManager.cxx | 6 +----- Source/cmake.cxx | 5 ++++- 2 files changed, 5 insertions(+), 6 deletions(-) hooks/post-receive -- CMake _______________________________________________ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-commits