boostorg / boostorg/safe_numerics

Boost\libs\safe_numerics failed to build due to error C2968 on MSVC

Open
#120 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
C++
Stars
222
Forks
46
PR merge metrics
No merged PRs in 30d

Description

**Issue description:**
Boost\libs\safe_numerics failed to build due to error C2968 on MSVC. Could you please take a look? We ues https://github.com/boostorg/boost/commit/8bfc57e268c536f68d3832741bccdefad534d9d4 from Boost master branch.

**Build step:**

1. git clone -c core.autocrlf=true --recursive ​https://github.com/boostorg/boost.git boost
2. open a VS 2019 x86 command prompt and browse to boost
3. .\bootstrap
4. .\b2 headers variant=release --build-dir=..\out\x86rel address-model=86
5. .\b2 variant=release --build-dir=..\out\x86rel address-model=86
6. .\b2 -j16 variant=release --build-dir=..\out\x86rel libs\safe_numerics\test

**Error info:**
test_cast.cpp
libs\safe_numerics\test\test_cast.cpp(17): warning C4068: unknown pragma 'GCC'
libs\safe_numerics\test\test_cast.cpp(18): warning C4068: unknown pragma 'GCC'
libs\safe_numerics\test\test_cast.cpp(88): warning C4068: unknown pragma 'GCC'
F:\gitP\boostorg\boost\boost\safe_numerics\safe_base_operations.hpp(371): error C2968: 'legal_overload::_Iostate>': recursive alias declaration
F:\gitP\boostorg\boost\boost\safe_numerics\safe_base_operations.hpp(1630): note: see reference to function template instantiation 'boost::lazy_enable_if_c::value,boost::safe_numerics::bitwise_or_result>::type boost::safe_numerics::operator |(const T &,const U &)' being compiled
.\boost/mp11/utility.hpp(87): note: see reference to alias template instantiation 'boost::safe_numerics::bitwise_or_operator::_Iostate>' being compiled
F:\gitP\boostorg\boost\boost\safe_numerics\safe_base_operations.hpp(364): note: see reference to class template instantiation 'boost::mp11::detail::mp_valid_impl::_Iostate>' being compiled
with
[
T=std::ios_base::fmtflags
]
F:\gitP\boostorg\boost\boost\safe_numerics\safe_base_operations.hpp(366): note: see reference to alias template instantiation 'boost::mp11::mp_valid::_Iostate>' being compiled
F:\gitP\boostorg\boost\boost\safe_numerics\safe_base_operations.hpp(1627): note: see reference to alias template instantiation 'boost::safe_numerics::`anonymous-namespace'::legal_overload::_Iostate>' being compiled
F:\gitP\boostorg\boost\boost\safe_numerics\safe_base_operations.hpp(1639): note: see reference to function template instantiation 'std::enable_if::value,T>::type boost::safe_numerics::operator |=(T &,const U &)' being compiled
C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\include\xlocnum(635): note: while compiling class template member function '_InIt std::num_get::do_get(_InIt,_InIt,std::ios_base &,std::ios_base::iostate &,void *&) const'
with
[
_InIt=std::istreambuf_iterator>
]
C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\include\xlocnum(1626): note: see reference to class template instantiation 'std::num_get>>' being compiled

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.