150 Commits

Author SHA1 Message Date
Peter Dimov
155ed414ab Disable variant_issue_55.cpp on clang-cl 32 bit 2026-01-02 12:29:11 +02:00
Peter Dimov
e6b336ec68 Call boost::core::lwt_init() in variant_issue_55.cpp, because it doesn't invoke any BOOST_TEST macros and clang-win 32 bit hangs w/ assertion 2026-01-02 02:51:46 +02:00
Peter Dimov
74f6f0cd96 Fix issue link; fix __cplusplus check 2026-01-01 22:28:25 +02:00
Peter Dimov
fc786d39b3 Rename variant_gcc_false_positive.cpp 2026-01-01 22:21:34 +02:00
Vinnie Falco
382cf33824 Add test for GCC 12+ -Wmaybe-uninitialized false positive
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 https://github.com/boostorg/variant2/issues/33
2026-01-01 22:16:48 +02:00
Peter Dimov
4632862a4b msvc-14.5 still needs two more workarounds 2026-01-01 20:04:58 +02:00
Peter Dimov
540354878c Disable Boost.JSON tests on gcc-4.9 2026-01-01 17:28:41 +02:00
Peter Dimov
b9d0499a8f BOOST_TEST_THROWS requires a semicolon after https://github.com/boostorg/core/pull/205 2025-10-18 20:23:49 +03:00
Peter Dimov
a63b03286e Add test/variant_value_construct_cx_2, 3, 4. Refs #53. 2025-10-18 08:24:39 +03:00
Peter Dimov
5661f2ba15 Disable variant_default_construct_cx_4, _5 on Clang < 18 as well 2025-10-18 03:12:52 +03:00
Peter Dimov
9d913eb1a0 Disable variant_default_construct_cx_3 on Clang < 18; earlier versions complain that the type isn't literal. 2025-10-18 03:01:19 +03:00
Peter Dimov
43377dcada Add test/variant_default_construct_cx_5. Refs #53. 2025-10-18 02:49:29 +03:00
Peter Dimov
2af2d02fce Add test/variant_default_construct_cx_4. Refs #53. 2025-10-18 02:41:28 +03:00
Peter Dimov
b2109dee2a Add test/variant_default_construct_cx_3. Refs #53. 2025-10-18 02:37:21 +03:00
Peter Dimov
df001efb54 Add test/variant_default_construct_cx_2. Refs #53. 2025-10-18 02:29:52 +03:00
Peter Dimov
6669e07071 Work around GCC 5, 6 failures 2024-12-22 20:12:08 +02:00
Peter Dimov
010c78598e Split variant_index_type into separate runs for each variant size 2024-12-22 06:03:10 +02:00
Peter Dimov
d77d61c8ec Avoid use of mp_back in variant_index_type.cpp 2024-12-22 04:52:07 +02:00
Peter Dimov
183aea23a9 Only use -ftemplate-depth for Clang on Linux, because clang-cl doesn't like it (and Mac doesn't need it) 2024-12-22 03:20:39 +02:00
Peter Dimov
7b8e8c33bb Disable variant_index_type.cpp for msvc-14.0, because GHA fails with 'out of heap space' 2024-12-22 03:09:28 +02:00
Peter Dimov
639bd0232b Add -ftemplate-depth=1024 for Clang (3.x needs it) 2024-12-22 03:03:35 +02:00
Peter Dimov
94749d088d Disable variant_index_type.cpp for MSVC 32 bit 2024-12-22 02:44:02 +02:00
Peter Dimov
e2fc107ac7 Add test/variant_index_type.cpp. Refs #50. 2024-12-21 20:15:45 +02:00
Peter Dimov
19b75fffe4 Add test/variant_visit_cx_2.cpp. Refs #47. 2024-11-23 04:11:30 +02:00
Peter Dimov
bdc1098c80 Add test/variant_visit_r_cx.cpp. Refs #47. 2024-11-23 03:38:27 +02:00
Peter Dimov
9061e427c2 Add test/variant_visit_cx.cpp. Refs #47. 2024-11-23 03:13:28 +02:00
Peter Dimov
a4b167b723 Add VERBATIM to add_custom_target 2024-08-28 20:45:54 +03:00
Peter Dimov
acf24454d8 Update build.jam, test/Jamfile 2024-08-28 20:28:59 +03:00
Rene Rivera
f78343e18d Sync from upstream. 2024-07-25 17:19:46 -05:00
Peter Dimov
e3cf721a23 Define BOOST_ALLOW_DEPRECATED in JSON tests for g++ 4.x 2024-07-21 22:20:27 +03:00
Rene Rivera
fc088e7273 Change all <source> references to <library>. 2024-07-20 21:27:52 -05:00
Rene Rivera
429a82a52e Sync from upstream. 2024-05-19 23:15:27 -05:00
Peter Dimov
f9bdafd3ca Remove C++11 requirements from test/Jamfile 2024-05-18 03:18:56 +03:00
Rene Rivera
1324e32b33 Add missing import-search for cconfig/predef checks. 2024-05-04 23:33:36 -05:00
Rene Rivera
02303d662e Sync from upstream. 2024-04-10 07:58:16 -05:00
Peter Dimov
a936eae01b Add test/variant_derived_construct2. Refs #43. 2024-03-24 18:41:49 +02:00
Rene Rivera
5c34125b14 Make the library modular usable. 2024-03-11 08:38:17 -05:00
Peter Dimov
2c590716ab Use the exact 3.125f in variant_visit_r.cpp 2023-06-29 12:05:55 +03:00
Peter Dimov
82b98fb757 Cast 3.14f to float because FLT_EVAL_METHOD (see https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108742) for discussion 2023-06-29 10:46:54 +03:00
Peter Dimov
30afb9e183 Update test/Jamfile to fix Drone issues 2023-06-29 09:54:49 +03:00
Peter Dimov
26595285d3 Add variant<>::uses_double_storage(). Refs #37. 2023-06-28 22:14:56 +03:00
Peter Dimov
67a12199e6 Add JSON support (refs #28) 2022-10-18 06:08:18 +03:00
Peter Dimov
4a5f3dc498 Add variant<monostate, T>::emplace tests to fish out -Wmaybe-uninitialized warnings 2022-10-18 02:56:15 +03:00
Peter Dimov
5e2bce1baa Add operator<< for monostate 2022-01-31 17:55:26 +02:00
Peter Dimov
3fc7540733 Only define operator<< when all contained types are streamable (refs #31) 2021-12-09 18:39:03 +02:00
Peter Dimov
e4b4b3f02b Extend msvc-14.2 workaround to 14.3 2021-10-29 02:18:23 +03:00
Peter Dimov
8af1fbde8e Update cmake_subdir_test/CMakeLists.txt 2021-09-21 14:52:38 +03:00
Peter Dimov
e668c099ce Add operator<< for variant 2021-09-15 02:51:11 +03:00
Peter Dimov
8fd9f830a9 Add proper type deduction to visit_by_index 2021-09-15 01:30:09 +03:00
Peter Dimov
ad06c9b923 Add visit_by_index 2021-09-14 21:06:01 +03:00