[Lldb-commits] [PATCH] D44060: [lldb] Fix "code requires global destructor" warning in g_architecture_mutex
This revision was automatically updated to reflect the committed changes. Closed by commit rL346673: [lldb] Fix code requires global destructor warning in g_architecture_mutex (authored by kuba.brecka, committed by ). Herald added a subscriber: llvm-commits. Changed prior to commit: https://reviews.llvm.org/D44060?vs=136886=173690#toc Repository: rL LLVM https://reviews.llvm.org/D44060 Files: lldb/trunk/source/Core/PluginManager.cpp Index: lldb/trunk/source/Core/PluginManager.cpp === --- lldb/trunk/source/Core/PluginManager.cpp +++ lldb/trunk/source/Core/PluginManager.cpp @@ -286,7 +286,10 @@ typedef std::vector ArchitectureInstances; -static std::mutex g_architecture_mutex; +static std::mutex () { +static std::mutex g_architecture_mutex; +return g_architecture_mutex; +} static ArchitectureInstances () { static ArchitectureInstances g_instances; @@ -296,13 +299,13 @@ void PluginManager::RegisterPlugin(const ConstString , llvm::StringRef description, ArchitectureCreateInstance create_callback) { - std::lock_guard guard(g_architecture_mutex); + std::lock_guard guard(GetArchitectureMutex()); GetArchitectureInstances().push_back({name, description, create_callback}); } void PluginManager::UnregisterPlugin( ArchitectureCreateInstance create_callback) { - std::lock_guard guard(g_architecture_mutex); + std::lock_guard guard(GetArchitectureMutex()); auto = GetArchitectureInstances(); for (auto pos = instances.begin(), end = instances.end(); pos != end; ++pos) { @@ -316,7 +319,7 @@ std::unique_ptr PluginManager::CreateArchitectureInstance(const ArchSpec ) { - std::lock_guard guard(g_architecture_mutex); + std::lock_guard guard(GetArchitectureMutex()); for (const auto : GetArchitectureInstances()) { if (auto plugin_up = instances.create_callback(arch)) return plugin_up; Index: lldb/trunk/source/Core/PluginManager.cpp === --- lldb/trunk/source/Core/PluginManager.cpp +++ lldb/trunk/source/Core/PluginManager.cpp @@ -286,7 +286,10 @@ typedef std::vector ArchitectureInstances; -static std::mutex g_architecture_mutex; +static std::mutex () { +static std::mutex g_architecture_mutex; +return g_architecture_mutex; +} static ArchitectureInstances () { static ArchitectureInstances g_instances; @@ -296,13 +299,13 @@ void PluginManager::RegisterPlugin(const ConstString , llvm::StringRef description, ArchitectureCreateInstance create_callback) { - std::lock_guard guard(g_architecture_mutex); + std::lock_guard guard(GetArchitectureMutex()); GetArchitectureInstances().push_back({name, description, create_callback}); } void PluginManager::UnregisterPlugin( ArchitectureCreateInstance create_callback) { - std::lock_guard guard(g_architecture_mutex); + std::lock_guard guard(GetArchitectureMutex()); auto = GetArchitectureInstances(); for (auto pos = instances.begin(), end = instances.end(); pos != end; ++pos) { @@ -316,7 +319,7 @@ std::unique_ptr PluginManager::CreateArchitectureInstance(const ArchSpec ) { - std::lock_guard guard(g_architecture_mutex); + std::lock_guard guard(GetArchitectureMutex()); for (const auto : GetArchitectureInstances()) { if (auto plugin_up = instances.create_callback(arch)) return plugin_up; ___ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
[Lldb-commits] [PATCH] D44060: [lldb] Fix "code requires global destructor" warning in g_architecture_mutex
davide accepted this revision. davide added a comment. This revision is now accepted and ready to land. LGTM. https://reviews.llvm.org/D44060 ___ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
[Lldb-commits] [PATCH] D44060: [lldb] Fix "code requires global destructor" warning in g_architecture_mutex
kubamracek added a comment. Ping. https://reviews.llvm.org/D44060 ___ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
[Lldb-commits] [PATCH] D44060: [lldb] Fix "code requires global destructor" warning in g_architecture_mutex
kubamracek created this revision. kubamracek added reviewers: jingham, jasonmolenda, davide, aprantl. https://reviews.llvm.org/D44060 Files: source/Core/PluginManager.cpp Index: source/Core/PluginManager.cpp === --- source/Core/PluginManager.cpp +++ source/Core/PluginManager.cpp @@ -285,7 +285,10 @@ typedef std::vector ArchitectureInstances; -static std::mutex g_architecture_mutex; +static std::mutex () { +static std::mutex g_architecture_mutex; +return g_architecture_mutex; +} static ArchitectureInstances () { static ArchitectureInstances g_instances; @@ -295,13 +298,13 @@ void PluginManager::RegisterPlugin(const ConstString , llvm::StringRef description, ArchitectureCreateInstance create_callback) { - std::lock_guard guard(g_architecture_mutex); + std::lock_guard guard(GetArchitectureMutex()); GetArchitectureInstances().push_back({name, description, create_callback}); } void PluginManager::UnregisterPlugin( ArchitectureCreateInstance create_callback) { - std::lock_guard guard(g_architecture_mutex); + std::lock_guard guard(GetArchitectureMutex()); auto = GetArchitectureInstances(); for (auto pos = instances.begin(), end = instances.end(); pos != end; ++pos) { @@ -315,7 +318,7 @@ std::unique_ptr PluginManager::CreateArchitectureInstance(const ArchSpec ) { - std::lock_guard guard(g_architecture_mutex); + std::lock_guard guard(GetArchitectureMutex()); for (const auto : GetArchitectureInstances()) { if (auto plugin_up = instances.create_callback(arch)) return plugin_up; Index: source/Core/PluginManager.cpp === --- source/Core/PluginManager.cpp +++ source/Core/PluginManager.cpp @@ -285,7 +285,10 @@ typedef std::vector ArchitectureInstances; -static std::mutex g_architecture_mutex; +static std::mutex () { +static std::mutex g_architecture_mutex; +return g_architecture_mutex; +} static ArchitectureInstances () { static ArchitectureInstances g_instances; @@ -295,13 +298,13 @@ void PluginManager::RegisterPlugin(const ConstString , llvm::StringRef description, ArchitectureCreateInstance create_callback) { - std::lock_guard guard(g_architecture_mutex); + std::lock_guard guard(GetArchitectureMutex()); GetArchitectureInstances().push_back({name, description, create_callback}); } void PluginManager::UnregisterPlugin( ArchitectureCreateInstance create_callback) { - std::lock_guard guard(g_architecture_mutex); + std::lock_guard guard(GetArchitectureMutex()); auto = GetArchitectureInstances(); for (auto pos = instances.begin(), end = instances.end(); pos != end; ++pos) { @@ -315,7 +318,7 @@ std::unique_ptr PluginManager::CreateArchitectureInstance(const ArchSpec ) { - std::lock_guard guard(g_architecture_mutex); + std::lock_guard guard(GetArchitectureMutex()); for (const auto : GetArchitectureInstances()) { if (auto plugin_up = instances.create_callback(arch)) return plugin_up; ___ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits