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 declare flags. I am guessing it's because it forces the `static` keyword into the declaration, which in turn guarantees your object will be zero-initialized by the linker. If you declare the flag as a local variable like this, it will be initialized to a random value, and you will have a fun time debugging issues in the future (it will only affect netbsd, as std::call_once platforms will still be correctly initialized). ================ Comment at: source/Core/ModuleList.cpp:648 static ModuleList &GetSharedModuleList() { static ModuleList *g_shared_module_list = nullptr; + LLVM_DEFINE_ONCE_FLAG(g_once_flag); ---------------- This could be simplified to: ```static ModuleList *g_shared_module_list = new ModuleList();``` It's only written this way because MSVC at one point did not support thread-safe statics. 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/lldb-commits