I think we can. MSVC's std::once_flag default constructor is constexpr now.
It still generates dynamic initialization code if you use it as a static
local, but MSVC defaults to using thread safe static initialization, so
that isn't a problem unless you disable it, which we don't. We disable it
in compiler-rt (/Zc:threadSafeInit-), but that doesn't use this code.

On Wed, Feb 8, 2017 at 1:18 PM, Zachary Turner <ztur...@google.com> wrote:

> Is this the right review?  https://reviews.llvm.org/D5922
>
> Being that this was over 2 years ago, I suspect it was when we were
> supporting MSVC2012 and 2013.  Now that we're requiring MSVC2015, is it
> time to reconsider? I don't see any links to an MS Connect issue, so I
> don't know what the original bug was to know if it has been fixed.
>
>
> On Wed, Feb 8, 2017 at 1:03 PM Reid Kleckner <r...@google.com> wrote:
>
>> It's a sad story. Read the comments and the review threads. It's
>> hilarious.
>>
>> On Wed, Feb 8, 2017 at 1:00 PM, Zachary Turner via lldb-dev <
>> lldb-dev@lists.llvm.org> wrote:
>>
>> Why doesn't llvm::call_once() just use std::call_once on Windows?
>>
>> On Wed, Feb 8, 2017 at 12:40 PM Hans Wennborg <h...@chromium.org> wrote:
>>
>> The Win64 lldb build seems broken (at 294367).
>>
>> I ran into this when trying to build the weekly snapshot
>> (http://www.llvm.org/builds/) which includes LLDB these days.
>>
>> I suspect this might be related to Kamil's changes a few days ago. I
>> see Pavel committed something to fix Darwin afterwards.
>>
>> Zach, do you know what's going on here? Do we have any buildbot
>> coverage for this?
>>
>>    Creating library lib\liblldb.lib and object lib\liblldb.exp
>> lldbHost.lib(HostInfoWindows.cpp.obj) : error LNK2019: unresolved
>> external symbo
>> l "void __cdecl llvm::sys::_mm_mfence(void)" (?_mm_mfence@sys@llvm@@YAXXZ)
>> refer
>> enced in function "void __cdecl llvm::call_once<class
>> <lambda_e212a11f7f891e804e
>> 713e15728a6adc> >(struct llvm::once_flag &,class <lambda_
>> e212a11f7f891e804e713e1
>> 5728a6adc> &&)" (??$call_once@V<lambda_e212a11f7f891e804e713e15728a6a
>> dc>@@$$V@ll
>> vm@@YAXAEAUonce_flag@0@$$QEAV<lambda_e212a11f7f891e804e713e15728a6a
>> dc>@@@Z)
>> bin\liblldb.dll : fatal error LNK1120: 1 unresolved externals
>> LINK failed. with 1120
>>
>>
>> _______________________________________________
>> lldb-dev mailing list
>> lldb-dev@lists.llvm.org
>> http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev
>>
>>
_______________________________________________
lldb-dev mailing list
lldb-dev@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-dev

Reply via email to