diff --git a/base/object_tracker.cpp b/base/object_tracker.cpp index bf4c4a1721..3ba5127e23 100644 --- a/base/object_tracker.cpp +++ b/base/object_tracker.cpp @@ -2,6 +2,8 @@ #include "assert.hpp" #include "logging.hpp" +#include "../std/target_os.hpp" + #ifndef OMIM_OS_WINDOWS #include #endif @@ -64,6 +66,8 @@ void ObjectTracker::PrintLeaks() void BreakIntoDebugger() { + /// @todo Probably we can make it more simple (like std::terminate). + #ifdef OMIM_OS_WINDOWS __debugbreak(); #else diff --git a/search/feature_offset_match.hpp b/search/feature_offset_match.hpp index 28b1633f9b..feb4bd77d8 100644 --- a/search/feature_offset_match.hpp +++ b/search/feature_offset_match.hpp @@ -13,6 +13,7 @@ #include "../std/unordered_set.hpp" #include "../std/utility.hpp" #include "../std/vector.hpp" +#include "../std/target_os.hpp" //#include "../sparsehash/dense_hash_set.hpp" @@ -110,9 +111,11 @@ void FullMatchInTrie(TrieIterator const & trieRoot, if (!pIter || !bFullEdgeMatched || symbolsMatched != s.size()) return; +#if defined(OMIM_OS_IPHONE) && !defined(__clang__) // Here is the dummy mutex to avoid mysterious iOS GCC-LLVM bug here. static threads::Mutex dummyM; threads::MutexGuard dummyG(dummyM); +#endif ASSERT_EQUAL ( symbolsMatched, s.size(), () ); for (size_t i = 0; i < pIter->m_value.size(); ++i)