diff options
author | Jonathan Wakely <jwakely@redhat.com> | 2022-11-01 09:48:41 +0000 |
---|---|---|
committer | Jonathan Wakely <jwakely@redhat.com> | 2022-11-13 01:10:44 +0000 |
commit | d4ba3b369cbe9bce0a1212670825ecfb99762520 (patch) | |
tree | 5ba9b0ae3ec94f3bfe938ad9435b1914b6ea0de6 /gcc/ginclude/stdint-gcc.h | |
parent | 7ce0cee77adf33397d0ba61e7445effd8a5d8fcc (diff) | |
download | gcc-d4ba3b369cbe9bce0a1212670825ecfb99762520.zip gcc-d4ba3b369cbe9bce0a1212670825ecfb99762520.tar.gz gcc-d4ba3b369cbe9bce0a1212670825ecfb99762520.tar.bz2 |
libstdc++: Allow std::to_chars for 128-bit integers in strict mode
This allows std::format to support __int128 when __STRICT_ANSI__ is
defined, which previously failed because __int128 is not an integral
type in strict mode.
With these changes, std::to_chars still rejects 128-bit integers in
strict mode, but std::format will be able to use __detail::__to_chars_i
for unsigned __int128.
libstdc++-v3/ChangeLog:
* include/bits/charconv.h (__integer_to_chars_is_unsigned):
New variable template.
(__to_chars_len, __to_chars_10_impl): Use variable template in
assertions to allow unsigned __int128 in strict mode.
* include/std/charconv (__to_chars, __to_chars_16)
(__to_chars_10, __to_chars_8, __to_chars_2): Likewise.
Diffstat (limited to 'gcc/ginclude/stdint-gcc.h')
0 files changed, 0 insertions, 0 deletions