|
Boost : |
Subject: Re: [boost] Regression testing Clang/LLVM with VC14.
From: Edward Diener (eldiener_at_[hidden])
Date: 2016-05-07 14:10:29
On 5/7/2016 2:01 PM, Mathias Gaunard wrote:
> On 9 April 2016 at 17:49, Stephan T. Lavavej <stl_at_[hidden]>
> wrote:
>
>> [Niall Douglas]
>>> the fact we finally can write fully standards conforming C++ 14 (sans
>> preprocessor) for the MSVC target.
>>
>> VC 2015 Update 2 doesn't support:
>>
>> * C++98: Two-phase name lookup.
>> * C++98: Dynamic exception specifications (deprecated in C++11, and likely
>> to be removed in a future Standard; we don't expect to ever implement this).
>> * C++11: Expression SFINAE support is Partial. With enough workarounds,
>> what's supported is sufficient for result_of/function.
>> * C++11: C99 preprocessor rules.
>> * C++14: Extended constexpr.
>> * C++14: NSDMIs for aggregates.
>>
>> Our STL is C++14 complete and was current with N4567 (pre-Jax) - with
>> minor exceptions as described by
>> https://blogs.msdn.microsoft.com/vcblog/2016/01/22/vs-2015-update-2s-stl-is-c17-so-far-feature-complete/
>> (e.g. without extended constexpr in the compiler, min()/max()/minmax() for
>> initializer_list can't be constexpr)
>>
>
> That would be assuming that what VC 2015 Update 2 claims to support doesn't
> have bugs.
> Unfortunately, it does have significantly more bugs than Clang.
Furthermore if the preprocessor is the Clang VC++ emulated preprocessor
a number of libraries will fail regression tests since the emulation is
broken as far as Boost PP ( and Boost VMD ) are concerned.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk