The reason for this is that msvc didn't support this until 2015. I'm fine with these changes but i think you guys still need 2013 for a while longer, right? On Mon, Feb 29, 2016 at 3:38 AM Pavel Labath <lab...@google.com> wrote:
> labath created this revision. > labath added reviewers: clayborg, zturner. > labath added a subscriber: lldb-commits. > > "Initialization of function-local statics is guaranteed to occur only once > even when called from > multiple threads, and may be more efficient than the equivalent code using > std::call_once." > <http://en.cppreference.com/w/cpp/thread/call_once> > > I'd add that it's also more readable. > > http://reviews.llvm.org/D17710 > > Files: > source/Target/Process.cpp > source/Target/Target.cpp > source/Target/Thread.cpp > > Index: source/Target/Thread.cpp > =================================================================== > --- source/Target/Thread.cpp > +++ source/Target/Thread.cpp > @@ -61,11 +61,7 @@ > { > // NOTE: intentional leak so we don't crash if global destructor > chain gets > // called as other threads still use the result of this function > - static ThreadPropertiesSP *g_settings_sp_ptr = nullptr; > - static std::once_flag g_once_flag; > - std::call_once(g_once_flag, []() { > - g_settings_sp_ptr = new ThreadPropertiesSP(new ThreadProperties > (true)); > - }); > + static ThreadPropertiesSP *g_settings_sp_ptr = new > ThreadPropertiesSP(new ThreadProperties (true)); > return *g_settings_sp_ptr; > } > > Index: source/Target/Target.cpp > =================================================================== > --- source/Target/Target.cpp > +++ source/Target/Target.cpp > @@ -2780,11 +2780,7 @@ > { > // NOTE: intentional leak so we don't crash if global destructor > chain gets > // called as other threads still use the result of this function > - static TargetPropertiesSP *g_settings_sp_ptr = nullptr; > - static std::once_flag g_once_flag; > - std::call_once(g_once_flag, []() { > - g_settings_sp_ptr = new TargetPropertiesSP(new > TargetProperties(nullptr)); > - }); > + static TargetPropertiesSP *g_settings_sp_ptr = new > TargetPropertiesSP(new TargetProperties(nullptr)); > return *g_settings_sp_ptr; > } > > Index: source/Target/Process.cpp > =================================================================== > --- source/Target/Process.cpp > +++ source/Target/Process.cpp > @@ -835,11 +835,7 @@ > { > // NOTE: intentional leak so we don't crash if global destructor > chain gets > // called as other threads still use the result of this function > - static ProcessPropertiesSP *g_settings_sp_ptr = nullptr; > - static std::once_flag g_once_flag; > - std::call_once(g_once_flag, []() { > - g_settings_sp_ptr = new ProcessPropertiesSP(new ProcessProperties > (NULL)); > - }); > + static ProcessPropertiesSP *g_settings_sp_ptr = new > ProcessPropertiesSP(new ProcessProperties (NULL)); > return *g_settings_sp_ptr; > } > > > >
_______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits