[llvm] r260654 - [ADT] OptionSet: ifdef out some code that seems to be crashing MSVC.
Argyrios Kyrtzidis via llvm-commits
llvm-commits at lists.llvm.org
Fri Feb 12 07:58:47 PST 2016
> On Feb 12, 2016, at 5:08 AM, Aaron Ballman <aaron at aaronballman.com> wrote:
>
> On Thu, Feb 11, 2016 at 11:36 PM, Argyrios Kyrtzidis via llvm-commits
> <llvm-commits at lists.llvm.org> wrote:
>> Author: akirtzidis
>> Date: Thu Feb 11 22:36:48 2016
>> New Revision: 260654
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=260654&view=rev
>> Log:
>> [ADT] OptionSet: ifdef out some code that seems to be crashing MSVC.
>>
>> Modified:
>> llvm/trunk/include/llvm/ADT/OptionSet.h
>>
>> Modified: llvm/trunk/include/llvm/ADT/OptionSet.h
>> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/ADT/OptionSet.h?rev=260654&r1=260653&r2=260654&view=diff
>> ==============================================================================
>> --- llvm/trunk/include/llvm/ADT/OptionSet.h (original)
>> +++ llvm/trunk/include/llvm/ADT/OptionSet.h Thu Feb 11 22:36:48 2016
>> @@ -116,6 +116,8 @@ public:
>> }
>>
>> private:
>> +#ifndef _MSC_VER
>> + // This is crashing MSVC.
>> template <typename T>
>> static auto _checkResultTypeOperatorOr(T t) -> decltype(t | t) { return T(); }
>>
>> @@ -124,6 +126,7 @@ private:
>> static_assert(!std::is_same<decltype(_checkResultTypeOperatorOr(Flags())),
>> Flags>::value,
>> "operator| should produce an OptionSet");
>> +#endif
>> };
>
> Are there plans to correct this for MSVC and recommit? Is there a
> requirement for this to use automatic type deduction instead of using
> the decltype in the is_same check, like this:
>
> http://coliru.stacked-crooked.com/a/94f224987d9feaee
+ Jordan who added that.
>
> This compiles fine in MSVC 2015, uncertain what MSVC was crashing for
> you however.
I was going by the bots:
http://lab.llvm.org:8011/builders/clang-x86-win2008-selfhost/builds/6315
http://lab.llvm.org:8011/builders/clang-x64-ninja-win7/builds/9718
To clarify, did you not reproduce a crash with the original code ?
>
> ~Aaron
>
>>
>> }
>>
>>
>> _______________________________________________
>> llvm-commits mailing list
>> llvm-commits at lists.llvm.org
>> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
More information about the llvm-commits
mailing list