Skip to content

[pull] develop from boostorg:develop#2

Open
pull[bot] wants to merge 119 commits intobazelboost:developfrom
boostorg:develop
Open

[pull] develop from boostorg:develop#2
pull[bot] wants to merge 119 commits intobazelboost:developfrom
boostorg:develop

Conversation

@pull
Copy link

@pull pull bot commented Jul 15, 2022

See Commits and Changes for more details.


Created by pull[bot]

Can you help keep this open source service alive? 💖 Please sponsor : )

@pull pull bot added the ⤵️ pull label Jul 15, 2022
pdimov and others added 30 commits October 18, 2025 02:29
Add variant_gcc_false_positive.cpp to reproduce GCC 12+ spurious
-Wmaybe-uninitialized warnings when copying/moving variant containing
non-trivially-copyable types like std::exception_ptr and std::string.

Tests use boost::system::result which internally uses variant2, and
include coroutine-based tests when C++20 coroutine support is available.

The test uses -O3 optimization to trigger the aggressive inlining that
exposes the false positive where GCC's dataflow analysis cannot prove
the discriminator ensures only initialized alternatives are accessed.

See #33
…n't invoke any BOOST_TEST macros and clang-win 32 bit hangs w/ assertion
…_impl

The pragma added in the flat (10-member) specialization
for #55 is missing from the recursive (T1, T...)
specialization. GCC 14/15 at -O3 triggers the same
false positive here when deeply inlining constexpr
functions (e.g. system::result<url_view> construction).

Refs #55
fix: add missing -Wmaybe-uninitialized pragma to recursive variant_storage_impl
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants