[Lldb-commits] [PATCH] D29288: Switch std::call_once to llvm::call_once

2017-02-06 Thread Phabricator via Phabricator via lldb-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL294202: Switch std::call_once to llvm::call_once (authored by kamil). Changed prior to commit: https://reviews.llvm.org/D29288?vs=87153&id=87252#toc Repository: rL LLVM https://reviews.llvm.org/D292

[Lldb-commits] [PATCH] D29288: Switch std::call_once to llvm::call_once

2017-02-06 Thread Greg Clayton via Phabricator via lldb-commits
clayborg accepted this revision. clayborg added a comment. This revision is now accepted and ready to land. Thanks for doing the right thing in LLVM first, looks great! Repository: rL LLVM https://reviews.llvm.org/D29288 ___ lldb-commits mailing

[Lldb-commits] [PATCH] D29288: Switch std::call_once to llvm::call_once

2017-02-06 Thread Kamil Rytarowski via Phabricator via lldb-commits
krytarowski added inline comments. Comment at: include/lldb/Core/Debugger.h:379 lldb::ListenerSP m_forward_listener_sp; - std::once_flag m_clear_once; + llvm::once_flag m_clear_once; clayborg wrote: > Is there a valid default initializer for the llvm::once

[Lldb-commits] [PATCH] D29288: Switch std::call_once to llvm::call_once

2017-02-06 Thread Greg Clayton via Phabricator via lldb-commits
clayborg added a comment. See inlined comment about initialization when llvm::once_flag is a member variable Comment at: include/lldb/Core/Debugger.h:379 lldb::ListenerSP m_forward_listener_sp; - std::once_flag m_clear_once; + llvm::once_flag m_clear_once; -

[Lldb-commits] [PATCH] D29288: Switch std::call_once to llvm::call_once

2017-02-05 Thread Kamil Rytarowski via Phabricator via lldb-commits
krytarowski updated this revision to Diff 87153. krytarowski added a comment. Revamp to new llvm::once_flag Repository: rL LLVM https://reviews.llvm.org/D29288 Files: include/lldb/Core/Debugger.h source/Commands/CommandObjectPlatform.cpp source/Core/Debugger.cpp source/Core/ModuleLis

[Lldb-commits] [PATCH] D29288: Switch std::call_once to llvm::call_once

2017-02-05 Thread Kamil Rytarowski via Phabricator via lldb-commits
krytarowski added a comment. https://reviews.llvm.org/D29566 I filed a patch in LLVM. Repository: rL LLVM https://reviews.llvm.org/D29288 ___ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lld

[Lldb-commits] [PATCH] D29288: Switch std::call_once to llvm::call_once

2017-02-04 Thread Kamil Rytarowski via Phabricator via lldb-commits
krytarowski added a comment. Once someone could explain to me why `SymbolFileDWARF::GetCachedSectionData` cannot be switched mechanically to `llvm::call_once`, I would like to propose this revamped interface to llvm. Repository: rL LLVM https://reviews.llvm.org/D29288 ___

[Lldb-commits] [PATCH] D29288: Switch std::call_once to llvm::call_once

2017-02-04 Thread Kamil Rytarowski via Phabricator via lldb-commits
krytarowski added a comment. Test results for the above patch for LLVM and LLDB with "mechanical" switch to `llvm::call_once`. === Test Result Summary === Test Methods: 1224 Reruns:1 Success: 268 Expected Failure:

[Lldb-commits] [PATCH] D29288: Switch std::call_once to llvm::call_once

2017-02-04 Thread Kamil Rytarowski via Phabricator via lldb-commits
krytarowski added a comment. I've tried to build the LLDB code with mechanically * replaced `std::call_once` -> `llvm::call_once` and `std::once_flag` -> `llvm::once_flag`: --- /public/llvm/include/llvm/Support/Threading.h 2017-02-05 00:15:00.769574623 +0100 +++ /usr/pkg/include/llvm/Su

[Lldb-commits] [PATCH] D29288: Switch std::call_once to llvm::call_once

2017-02-04 Thread Kamil Rytarowski via Phabricator via lldb-commits
krytarowski added inline comments. Comment at: include/lldb/Core/Debugger.h:379 lldb::ListenerSP m_forward_listener_sp; - std::once_flag m_clear_once; + llvm::once_flag m_clear_once; labath wrote: > The code in llvm says you should only ever use the LLVM_D

[Lldb-commits] [PATCH] D29288: Switch std::call_once to llvm::call_once

2017-02-04 Thread Pavel Labath via Phabricator via lldb-commits
labath added inline comments. Comment at: include/lldb/Core/Debugger.h:379 lldb::ListenerSP m_forward_listener_sp; - std::once_flag m_clear_once; + llvm::once_flag m_clear_once; The code in llvm says you should only ever use the LLVM_DEFINE_ONCE_FLAG to d

[Lldb-commits] [PATCH] D29288: Switch std::call_once to llvm::call_once

2017-02-04 Thread Kamil Rytarowski via Phabricator via lldb-commits
krytarowski added a comment. Related https://reviews.llvm.org/D29552 I'm requesting help to test this patch on !NetBSD with and without `LLVM_THREADING_USE_STD_CALL_ONCE` defined in `"llvm/Support/Threading.h"`. This issue is blocking me from adding functional changes for the NetBSD port. Rep

[Lldb-commits] [PATCH] D29288: Switch std::call_once to llvm::call_once

2017-02-04 Thread Kamil Rytarowski via Phabricator via lldb-commits
krytarowski updated this revision to Diff 87120. krytarowski added a comment. Typo. Repository: rL LLVM https://reviews.llvm.org/D29288 Files: include/lldb/Core/Debugger.h source/Commands/CommandObjectPlatform.cpp source/Core/Debugger.cpp source/Core/ModuleList.cpp source/Host/comm

[Lldb-commits] [PATCH] D29288: Switch std::call_once to llvm::call_once

2017-02-04 Thread Kamil Rytarowski via Phabricator via lldb-commits
krytarowski updated this revision to Diff 87109. krytarowski added a comment. Revamp patch after recent changes in LLVM. Repository: rL LLVM https://reviews.llvm.org/D29288 Files: include/lldb/Core/Debugger.h source/Commands/CommandObjectPlatform.cpp source/Core/Debugger.cpp source/C

[Lldb-commits] [PATCH] D29288: Switch std::call_once to llvm::call_once

2017-01-30 Thread Kamil Rytarowski via Phabricator via lldb-commits
krytarowski added a comment. In https://reviews.llvm.org/D29288#660703, @mehdi_amini wrote: > In https://reviews.llvm.org/D29288#660677, @krytarowski wrote: > > > In https://reviews.llvm.org/D29288#660636, @clayborg wrote: > > > > > Be very careful when using this, you can't change member variabl

[Lldb-commits] [PATCH] D29288: Switch std::call_once to llvm::call_once

2017-01-30 Thread Mehdi AMINI via Phabricator via lldb-commits
mehdi_amini added a comment. In https://reviews.llvm.org/D29288#660677, @krytarowski wrote: > In https://reviews.llvm.org/D29288#660636, @clayborg wrote: > > > Be very careful when using this, you can't change member variables that > > used to be std::once to be statics. We also don't need the l

[Lldb-commits] [PATCH] D29288: Switch std::call_once to llvm::call_once

2017-01-30 Thread Kamil Rytarowski via Phabricator via lldb-commits
krytarowski added a comment. namespace llvm { namespace sys { void MemoryFence(); #ifdef _MSC_VER typedef long cas_flag; #else typedef uint32_t cas_flag; #endif cas_flag CompareAndSwap(volatile cas_flag* ptr, cas_flag new_value,

[Lldb-commits] [PATCH] D29288: Switch std::call_once to llvm::call_once

2017-01-30 Thread Kamil Rytarowski via Phabricator via lldb-commits
krytarowski added a comment. In https://reviews.llvm.org/D29288#660636, @clayborg wrote: > Be very careful when using this, you can't change member variables that used > to be std::once to be statics. We also don't need the llvm namespace to be > included with "using namespace llvm;" in many of

[Lldb-commits] [PATCH] D29288: Switch std::call_once to llvm::call_once

2017-01-30 Thread Greg Clayton via Phabricator via lldb-commits
clayborg requested changes to this revision. clayborg added a comment. This revision now requires changes to proceed. Be very careful when using this, you can't change member variables that used to be std::once to be statics. We also don't need the llvm namespace to be included with "using names

[Lldb-commits] [PATCH] D29288: Switch std::call_once to llvm::call_once

2017-01-30 Thread Mehdi AMINI via Phabricator via lldb-commits
mehdi_amini added a comment. I'm fine with this change, but I'll leave the approval to one of the LLDB developer :) (Thanks for following-up with the libstdc++ on these platforms!) Repository: rL LLVM https://reviews.llvm.org/D29288 ___ lldb-co

[Lldb-commits] [PATCH] D29288: Switch std::call_once to llvm::call_once

2017-01-30 Thread Kamil Rytarowski via Phabricator via lldb-commits
krytarowski added a comment. I can build and test this patch on NetBSD/amd64. I don't have access right now to a performant FreeBSD, Linux, Android, Windows and FreeBSD hosts to test build and execute tests for this patch on other platforms. Please check. I was in touch with `libstdc++` develo

[Lldb-commits] [PATCH] D29288: Switch std::call_once to llvm::call_once

2017-01-30 Thread Kamil Rytarowski via Phabricator via lldb-commits
krytarowski created this revision. krytarowski added a project: LLDB. 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