Files
gentoo/dev-libs/boost/files/boost-1.92.0-msm-std.patch
Holger Hoffstätte 7058c758b8 dev-libs/boost: rebase icu patch, drop -Werror, refresh test exclusions
- rebase disable_icu_rpath patch: path_options was renamed upstream
- disable b2's warnings-as-errors globally instead of patching
  subprojects one by one; supersedes 1.88.0-bind-no-Werror.patch
- callable_traits, redis, serialization and graph tests now pass
- exclude more tests when tc-is-clang

Part-of: https://codeberg.org/gentoo/gentoo/pulls/1743
Merges: https://codeberg.org/gentoo/gentoo/pulls/1743
Signed-off-by: Holger Hoffstätte <holger@applied-asynchrony.com>
Signed-off-by: David Seifert <soap@gentoo.org>
2026-08-30 00:09:05 +02:00

28 lines
1.2 KiB
Diff

The msm-unit-tests-cxxstd20 testsuite sets <cxxstd>20, but unfortunately
this setting is prepended relative to the ebuild's setting:
x86_64-pc-linux-gnu-g++ -std=c++20 -fvisibility-inlines-hidden
-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE
-pipe -O -std=c++17
which causes an expected build error:
In file included from Back11OrthogonalDeferred3WithPuml.cpp:15:
boost/msm/front/puml/puml.hpp: In function 'constexpr auto boost::msm::front::puml::detail::parse_guard_simple(Func)':
boost/msm/front/puml/puml.hpp:511:25: error: lambda-expression in unevaluated context only available with
'-std=c++20' or '-std=gnu++20' [-Wtemplate-body]
Setting -std=c++20 globally for the gcc toolchain lets all tests pass.
--- a/libs/msm/test/Jamfile.v2
+++ b/libs/msm/test/Jamfile.v2
@@ -20,7 +20,7 @@ project
<library>/boost/msm//boost_msm
<include>.
<include>../doc/modules/ROOT
- <toolset>gcc:<cxxflags>"-ftemplate-depth-300 -g0"
+ <toolset>gcc:<cxxflags>"-ftemplate-depth-300 -g0 -std=c++20"
<toolset>darwin:<cxxflags>"-ftemplate-depth-300 -g0"
<toolset>intel:<cxxflags>"-g0"
<toolset>gcc:<optimization>off