Peter Dimov
155ed414ab
Disable variant_issue_55.cpp on clang-cl 32 bit
2026-01-02 12:29:11 +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
540354878c
Disable Boost.JSON tests on gcc-4.9
2026-01-01 17:28:41 +02: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
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
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
acf24454d8
Update build.jam, test/Jamfile
2024-08-28 20:28:59 +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
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
3fc7540733
Only define operator<< when all contained types are streamable (refs #31 )
2021-12-09 18:39:03 +02:00
Peter Dimov
e668c099ce
Add operator<< for variant
2021-09-15 02:51:11 +03:00
Peter Dimov
ad06c9b923
Add visit_by_index
2021-09-14 21:06:01 +03:00
Peter Dimov
f586dc8848
Add test for inherited constructors (refs #26 )
2021-03-12 20:15:09 +02:00
Peter Dimov
84a2c175d0
Use variant=release for variant_visit_r under g++/windows
2021-01-13 04:44:56 +02:00
Peter Dimov
5586ebaa64
Add support for visit<R>
2020-06-03 17:00:13 +03:00
Peter Dimov
93204676f5
Add test/variant_many_types
2020-05-08 22:22:49 +03:00
Peter Dimov
772ef0d312
Support derived types in visit
2020-05-06 20:11:03 +03:00
Peter Dimov
76c67c9b21
Use <warnings>extra instead of all
2020-01-31 23:59:00 +02:00
Peter Dimov
57ab36bd95
Add test/variant_special
2020-01-23 15:24:32 +02:00
Peter Dimov
fac5992e45
Add test/variant_trivial
2020-01-23 03:53:05 +02:00
Peter Dimov
17bc06b090
Apply msvc-14.0 workarounds
2020-01-22 17:38:45 +02:00
Peter Dimov
fece11142c
Add hashing support
2020-01-11 04:51:30 +02:00
Peter Dimov
58b4a21deb
Add CMake tests
2020-01-09 17:43:54 +02:00
Peter Dimov
f5d9662946
Support -fno-exceptions
2019-06-03 02:46:59 +03:00
Peter Dimov
f1b1e7cade
Enable warnings-as-errors in test/Jamfile
2019-03-25 17:40:20 +02:00
Peter Dimov
1c3526b3bb
Add test/variant_lt_gt_cx
2019-03-06 01:09:40 +02:00
Peter Dimov
204bcce9df
Make relational operators constexpr; add test/variant_eq_ne_cx.cpp
2019-03-06 00:26:55 +02:00
Peter Dimov
fdfe9df167
Do not trivially copy/move assign when not trivially copy/move constructible
2019-03-03 05:14:51 +02:00
Peter Dimov
2f376da1c2
Add throwing copy/move/convert tests
2019-02-26 14:26:59 +02:00