diff options
Diffstat (limited to 'source/Target/Language.cpp')
-rw-r--r-- | source/Target/Language.cpp | 24 |
1 files changed, 15 insertions, 9 deletions
diff --git a/source/Target/Language.cpp b/source/Target/Language.cpp index d6c7e0a4c4bb..20439b4dc552 100644 --- a/source/Target/Language.cpp +++ b/source/Target/Language.cpp @@ -13,7 +13,6 @@ #include "lldb/Target/Language.h" -#include "lldb/Host/Mutex.h" #include "lldb/Core/PluginManager.h" #include "lldb/Core/Stream.h" @@ -36,23 +35,23 @@ GetLanguagesMap () return *g_map; } -static Mutex& -GetLanguagesMutex () +static std::mutex & +GetLanguagesMutex() { - static Mutex *g_mutex = nullptr; + static std::mutex *g_mutex = nullptr; static std::once_flag g_initialize; - + std::call_once(g_initialize, [] { - g_mutex = new Mutex(); // NOTE: INTENTIONAL LEAK due to global destructor chain + g_mutex = new std::mutex(); // NOTE: INTENTIONAL LEAK due to global destructor chain }); - + return *g_mutex; } Language* Language::FindPlugin (lldb::LanguageType language) { - Mutex::Locker locker(GetLanguagesMutex()); + std::lock_guard<std::mutex> guard(GetLanguagesMutex()); LanguagesMap& map(GetLanguagesMap()); auto iter = map.find(language), end = map.end(); if (iter != end) @@ -80,7 +79,7 @@ Language::FindPlugin (lldb::LanguageType language) void Language::ForEach (std::function<bool(Language*)> callback) { - Mutex::Locker locker(GetLanguagesMutex()); + std::lock_guard<std::mutex> guard(GetLanguagesMutex()); LanguagesMap& map(GetLanguagesMap()); for (const auto& entry : map) { @@ -241,6 +240,7 @@ Language::LanguageIsCPlusPlus (LanguageType language) case eLanguageTypeC_plus_plus_03: case eLanguageTypeC_plus_plus_11: case eLanguageTypeC_plus_plus_14: + case eLanguageTypeObjC_plus_plus: return true; default: return false; @@ -367,6 +367,12 @@ Language::GetTypeScavenger () return nullptr; } +const char* +Language::GetLanguageSpecificTypeLookupHelp () +{ + return nullptr; +} + size_t Language::TypeScavenger::Find (ExecutionContextScope *exe_scope, const char *key, |