aboutsummaryrefslogtreecommitdiff
path: root/libjava/classpath/java/sql
diff options
context:
space:
mode:
authorTomasz Kamiński <tkaminsk@redhat.com>2025-12-08 08:49:45 +0100
committerTomasz Kamiński <tkaminsk@redhat.com>2025-12-08 13:20:35 +0100
commit09bece00d0ec981d1b0b47ba93a67a745de3f062 (patch)
treed8427caa43d67bda7f1158fa5bd23ddc59fc11cf /libjava/classpath/java/sql
parent28f12e889c75c8f017f82be3dcd899b7ab9288af (diff)
downloadgcc-09bece00d0ec981d1b0b47ba93a67a745de3f062.zip
gcc-09bece00d0ec981d1b0b47ba93a67a745de3f062.tar.gz
gcc-09bece00d0ec981d1b0b47ba93a67a745de3f062.tar.bz2
libstdc++: Refactor _Variadic_union so _Unitialized<T, false> is not needed [PR112591].
The changes the _Variadic_union implementation, in a way that the _Unitialized<T, false> partial specialization for non-trivial types is not necessary. This is simply done by separating the specialization for __trivially_destructible being true and false, and for the later defining an empty destructor (similarly as it was done using concepts). We also reduce the number of specialization of _Variadic_union, so specialization (int, int) is reused by (string, int, int) and (int, int). This is done by initialization __trivially_destructible with conjunction of is_trivially_destructible_v for remaining components. This is only necessary for non-trivial (false) specialization, as if both _First and _Rest... are trivially destructible, then _Rest must also be. The above change does not regress the fix r14-7259-g2d55d94e5df389 for template depth, and both before and after the change template depth is 266. I have added dg-options to the 87619.cc to catch future regressions. This also add test for PR112591. PR libstdc++/112591 libstdc++-v3/ChangeLog: * include/std/variant (_Variadic_union): Separate specializations for for union of only trivially destructible types (true as first template argument). Unconditionally define destructor for _Variadic_union<false, _First, _Rest...>. * testsuite/20_util/variant/87619.cc: Add limit for the template depth. * testsuite/20_util/variant/112591.cc: New test. Reviewed-by: Jonathan Wakely <jwakely@redhat.com> Signed-off-by: Tomasz Kamiński <tkaminsk@redhat.com>
Diffstat (limited to 'libjava/classpath/java/sql')
0 files changed, 0 insertions, 0 deletions