On 11/4/23 18:41, Tom Kent via Boost wrote:
On Thu, Oct 26, 2023 at 10:06 AM Marshall Clow via Boost < boost@lists.boost.org> wrote:
The deadline for “major changes” is next Wednesday, 1-Nov. The beta release will be two weeks later.
As always, the release calendar is at: https://www.boost.org/development/index.html
— Marshall
In preparation for the upcoming release, I tried running the windows builders. I'm seeing lots of issues with msvc-10.0, -11.0, and -12.0.
I know there has been some traffic about pushing forward changes that break compatibility with older compilers...I'm guessing this is what is happening, but wanted to double check.
1. Are these errors due to removing compatibility in some library(ies)? 2. Is the expected result of this compiler errors (vs. libraries that just refuse to build)?
With the assumption that these are fine, I'm preparing to drop those three versions from the build for this release.
Some examples...this one in msvc-10.0 seems like 10.0 just doesn't have enough of C++11 (it has a lot, but not all). compile-c-c++ D:\RB\bin.v2\boost\bin.v2\libs\chrono\build\msvc-10.0\debug\address-model-32\threading-multi\thread_clock.obj thread_clock.cpp D:\RB\boost_1_84_0\boost/chrono/detail/requires_cxx11.hpp(19): note: C++03 support was deprecated in Boost.Chrono 1.82 and was removed in Boost.Chrono 1.84. D:\RB\boost_1_84_0\boost/ratio/ratio_fwd.hpp(35) : fatal error C1083: Cannot open include file: 'ratio': No such file or directory
A lot of C++ 11 got added in 11.0/12.0, but apparently not all: compile-c-c++ D:\RB\bin.v2\boost\bin.v2\libs\log\build\msvc-12.0\debug\address-model-32\threadapi-win32\threading-multi\attribute_value_set.obj attribute_value_set.cpp D:\RB\boost_1_84_0\boost/type_index/type_index_facade.hpp(59) : error C3646: 'noexcept' : unknown override specifier D:\RB\boost_1_84_0\boost/type_index/type_index_facade.hpp(144) : see reference to class template instantiation 'boost::typeindex::type_index_facade
' being compiled D:\RB\boost_1_84_0\boost/type_index/type_index_facade.hpp(68) : error C3646: 'noexcept' : unknown override specifier Full logs can be found here at this link. The files are big, scroll approximately 1/3 of the way for each of 10.0, 11.0, 12.0 with 14.x being the last couple pages. https://gist.github.com/teeks99/6e87a664f54fa55a94f122d8166baedf
Any thoughts?
Both errors above are from lack of C++11 features, and as expected. As for not building vs. emitting errors, making the library not build would be problematic, at least in the case of Boost.Log above. The errors are coming from the header-only Boost.TypeIndex, which can't express its C++11 requirements (as it doesn't have a Jamfile). So disabling Boost.Log build would require replicating the requirements of Boost.TypeIndex in Boost.Log's Jamfile, and I don't want to do this as I won' be able to maintain those as they change in the future.