Subject: Re: [boost] Regression testing Clang/LLVM with VC14.
From: Mathias Gaunard (mathias.gaunard_at_[hidden])
Date: 2016-05-07 14:01:38


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.