
Hi Boost devs, FYI, VS 2017 15.8 Preview 3 has been released, with support for feature-test macros. If you want to take advantage of the feature-test macros, please notify me immediately about any problems so I can get them fixed for the production release. Notes: * __has_cpp_attribute is the one thing that isn't supported yet. * There are minor changes coming for the production release of 15.8, notably L suffixing and an increase in the value for __cpp_deduction_guides. * Library macros are defined by including any <meow> or <cmeow> header (but not <meow.h>). <ciso646> is the lightweight way to get all macros. This will be superseded by <version> in C++20, but that is not yet implemented. * The macros are always provided regardless of the /std compiler option. (Of course their definedness and values vary.) * We are defining __cpp_exceptions and __cpp_rtti, although those weren't picked up for C++20. * The only fundamentally new ability that these macros provide is the ability to sense whether thread-safe statics are supported; this was previously controlled by a compiler option, but not reflected in any MSVC-specific macro. * The macros respect all of our compiler options and library control macros - e.g. if std::byte's definition is suppressed (to avoid conflicts with the Windows SDK), then __cpp_lib_byte reflects that. Hope this helps, STL