On 08/07/2018 15:42, Peter Dimov via Boost wrote:
John Maddock wrote:
1>C:\Program Files (x86)\Microsoft Visual Studio > 14.0\VC\include\system_error(168,18): note: declared here 1> /* constexpr */ error_category() _NOEXCEPT // TRANSITION
This commented-out constexpr (in the 2015 headers) is the problem, thanks. Now how do we work around it...
The problem here is that Clang can pick up and use any MSVC headers it finds depending on who knows what search algorithm, and to work around the commented-out constexpr I need to detect that it uses the 2015 STL (because the 2017 STL would presumably have the constexpr, although I haven't checked all of its flavors.)
I preprocessed the source and it's picking up the latest headers for me:
m:\\compilers\\vc2017\\vc\\tools\\msvc\\14.13.26128\\include\\system_error
and I still see:
class error_category
{ // categorize an error
public:
/* constexpr */ error_category() _NOEXCEPT // TRANSITION
{ // default constructor
_Addr = reinterpret_cast