mirror of
https://github.com/intel/llvm.git
synced 2026-01-25 10:55:58 +08:00
Switch std::call_once to llvm::call_once
Summary: The std::call_once implementation in libstdc++ has problems on few systems: NetBSD, OpenBSD and Linux PPC. LLVM ships with a homegrown implementation llvm::call_once to help on these platforms. This change is required in the NetBSD LLDB port. std::call_once with libstdc++ results with crashing the debugger. Sponsored by <The NetBSD Foundation> Reviewers: labath, joerg, emaste, mehdi_amini, clayborg Reviewed By: labath, clayborg Subscribers: #lldb Tags: #lldb Differential Revision: https://reviews.llvm.org/D29288 llvm-svn: 294202
This commit is contained in:
@@ -21,6 +21,7 @@
|
||||
|
||||
// Other libraries and framework includes
|
||||
#include "llvm/ADT/StringRef.h"
|
||||
#include "llvm/Support/Threading.h"
|
||||
|
||||
// Project includes
|
||||
#include "lldb/Core/FastDemangle.h"
|
||||
@@ -1036,10 +1037,10 @@ std::unique_ptr<Language::TypeScavenger> CPlusPlusLanguage::GetTypeScavenger() {
|
||||
}
|
||||
|
||||
lldb::TypeCategoryImplSP CPlusPlusLanguage::GetFormatters() {
|
||||
static std::once_flag g_initialize;
|
||||
static llvm::once_flag g_initialize;
|
||||
static TypeCategoryImplSP g_category;
|
||||
|
||||
std::call_once(g_initialize, [this]() -> void {
|
||||
llvm::call_once(g_initialize, [this]() -> void {
|
||||
DataVisualization::Categories::GetCategory(GetPluginName(), g_category);
|
||||
if (g_category) {
|
||||
LoadLibCxxFormatters(g_category);
|
||||
@@ -1052,11 +1053,11 @@ lldb::TypeCategoryImplSP CPlusPlusLanguage::GetFormatters() {
|
||||
|
||||
HardcodedFormatters::HardcodedSummaryFinder
|
||||
CPlusPlusLanguage::GetHardcodedSummaries() {
|
||||
static std::once_flag g_initialize;
|
||||
static llvm::once_flag g_initialize;
|
||||
static ConstString g_vectortypes("VectorTypes");
|
||||
static HardcodedFormatters::HardcodedSummaryFinder g_formatters;
|
||||
|
||||
std::call_once(g_initialize, []() -> void {
|
||||
llvm::call_once(g_initialize, []() -> void {
|
||||
g_formatters.push_back(
|
||||
[](lldb_private::ValueObject &valobj, lldb::DynamicValueType,
|
||||
FormatManager &) -> TypeSummaryImpl::SharedPointer {
|
||||
@@ -1116,11 +1117,11 @@ CPlusPlusLanguage::GetHardcodedSummaries() {
|
||||
|
||||
HardcodedFormatters::HardcodedSyntheticFinder
|
||||
CPlusPlusLanguage::GetHardcodedSynthetics() {
|
||||
static std::once_flag g_initialize;
|
||||
static llvm::once_flag g_initialize;
|
||||
static ConstString g_vectortypes("VectorTypes");
|
||||
static HardcodedFormatters::HardcodedSyntheticFinder g_formatters;
|
||||
|
||||
std::call_once(g_initialize, []() -> void {
|
||||
llvm::call_once(g_initialize, []() -> void {
|
||||
g_formatters.push_back([](lldb_private::ValueObject &valobj,
|
||||
lldb::DynamicValueType,
|
||||
FormatManager &
|
||||
|
||||
Reference in New Issue
Block a user