aboutsummaryrefslogtreecommitdiff
path: root/libjava/java/sql/SQLOutput.java
diff options
context:
space:
mode:
authorJonathan Wakely <jwakely@redhat.com>2022-10-15 21:20:47 +0100
committerJonathan Wakely <jwakely@redhat.com>2022-10-15 21:20:47 +0100
commit378a0f1840e6944d05ed1e374e514abe9564e91a (patch)
treeae315fe2b41d8646d66af91f86ccb4bd58054983 /libjava/java/sql/SQLOutput.java
parente24b430f1ea60205162fd9b327ac6a4dfc57f37c (diff)
downloadgcc-378a0f1840e6944d05ed1e374e514abe9564e91a.zip
gcc-378a0f1840e6944d05ed1e374e514abe9564e91a.tar.gz
gcc-378a0f1840e6944d05ed1e374e514abe9564e91a.tar.bz2
libstdc++: Implement constexpr std::to_chars for C++23 (P2291R3)
Some of the helper functions use static constexpr local variables, which is not permitted in a core constant expression. Removing the 'static' seems to have negligible performance effect for __to_chars and __to_chars_16. For __from_chars_alnum_to_val removing the 'static' causes a significant performance impact for base 36 conversions. Use a consteval lambda instead. libstdc++-v3/ChangeLog: * include/bits/charconv.h (__to_chars_10_impl): Add constexpr for C++23. Remove 'static' from array. * include/std/charconv (__cpp_lib_constexpr_charconv): Define. (__to_chars, __to_chars_16): Remove 'static' from array, add constexpr. (__to_chars_10, __to_chars_8, __to_chars_2, __to_chars_i) (to_chars, __raise_and_add, __from_chars_pow2_base) (__from_chars_alnum, from_chars): Add constexpr. (__from_chars_alnum_to_val): Avoid local static during constant evaluation. Add constexpr. * include/std/version (__cpp_lib_constexpr_charconv): Define. * testsuite/20_util/from_chars/constexpr.cc: New test. * testsuite/20_util/to_chars/constexpr.cc: New test. * testsuite/20_util/to_chars/version.cc: New test.
Diffstat (limited to 'libjava/java/sql/SQLOutput.java')
0 files changed, 0 insertions, 0 deletions