From 2799dc81d1ab860ecf5e6c533eb814937d859852 Mon Sep 17 00:00:00 2001 From: vng Date: Wed, 12 Sep 2012 15:43:41 +0300 Subject: [PATCH] Add conditional compilation for hack. --- base/object_tracker.cpp | 4 ++++ search/feature_offset_match.hpp | 3 +++ 2 files changed, 7 insertions(+) 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)