From c5f28e2a05f2ebff09e1cd02a5faa84369c5c655 Mon Sep 17 00:00:00 2001 From: Kamil Rytarowski Date: Mon, 6 Feb 2017 17:55:02 +0000 Subject: 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 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 --- lldb/source/Plugins/Language/Java/JavaLanguage.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'lldb/source/Plugins/Language/Java/JavaLanguage.cpp') diff --git a/lldb/source/Plugins/Language/Java/JavaLanguage.cpp b/lldb/source/Plugins/Language/Java/JavaLanguage.cpp index 4a825c41efa..b17862f0b6a 100644 --- a/lldb/source/Plugins/Language/Java/JavaLanguage.cpp +++ b/lldb/source/Plugins/Language/Java/JavaLanguage.cpp @@ -15,6 +15,7 @@ // Other libraries and framework includes #include "llvm/ADT/StringRef.h" +#include "llvm/Support/Threading.h" // Project includes #include "JavaFormatterFunctions.h" @@ -64,10 +65,10 @@ bool JavaLanguage::IsNilReference(ValueObject &valobj) { } lldb::TypeCategoryImplSP JavaLanguage::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) { llvm::StringRef array_regexp("^.*\\[\\]&?$"); -- cgit v1.2.3