[Bug libstdc++/123241] New: Missing typedefs int128_t and uint128_t
janschultke at googlemail dot com
gcc-bugzilla@gcc.gnu.org
Sun Dec 21 15:16:00 GMT 2025
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=123241
Bug ID: 123241
Summary: Missing typedefs int128_t and uint128_t
Product: gcc
Version: 16.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: libstdc++
Assignee: unassigned at gcc dot gnu.org
Reporter: janschultke at googlemail dot com
Target Milestone: ---
https://godbolt.org/z/3Po7Yxb39
#include <cstdint>
#include <type_traits>
static_assert(std::is_integral_v<__int128>);
using i128 = std::int128_t;
The first assertion passes, but libstdc++ provides no typedef std::int128_t.
https://eel.is/c++draft/cstdint.syn#3 requires a typedef:
> All types that use the placeholder N are optional when N is not 8, 16, 32, or 64.
> The exact-width types intN_t and uintN_t for N = 8, 16, 32, and 64 are also optional;
> however, if an implementation defines integer types with the corresponding width and no padding bits,
> it declares the corresponding typedef-names.
More information about the Gcc-bugs
mailing list