Closed wg21bot closed 1 year ago
GB-080: Sync intmax_t
and uintmax_t
with C2x
2022-11-08 10:00 to 11:30 UTC-10 Kona Library Evolution Minutes
POLL: Apply the resolution suggested in GB-080, relax the requirements on intmax_t/uintmax_t for C++23
Strongly Favor | Weakly Favor | Neutral | Weakly Against | Strongly Against |
---|---|---|---|---|
13 | 4 | 0 | 0 | 0 |
Attendance: 13 + 6
# of Authors: 1
Author Position: SF
Outcome: Unanimous consensus in favor.
That's another comment.
Fixed
Poll 1.16: Send the proposed resolution to C++23 National Body comment GB-080 Sync intmax_t And uintmax_t With C2x to Library Working Group for C++23, classified as an improvement of an existing feature ([P0592R4] bucket 2 item).
Strongly Favor | Weakly Favor | Neutral | Weakly Against | Strongly Against |
---|---|---|---|---|
12 | 8 | 0 | 0 | 0 |
Outcome: Unanimous consensus in favor.
@JeffGarland heads up.
https://wiki.edg.com/bin/view/Wg21issaquah2023/LWG3828-20230206
poll: accept the proposed resolution for C++23 and make it immediate?
F | A | N |
---|---|---|
13 | 0 | 0 |
Accepted with modification.
With the approval of https://www.open-std.org/jtc1/sc22/WG14/www/docs/n2888.htm the next C standard will resolve the long-standing issue that implementations cannot support 128-bit integer types properly without ABI breaks. C++ should adopt the same fix now, rather than waiting until a future C++ standard is rebased on C2x.
[cinttypes.syn] also mentions those types, but doesn't need a change. The proposed change allows intmax_t to be an extended integer type of the same width as long long, in which case we'd still want those abs overloads.
Add to [cstdint.syn] p2 "except that intmax_t is not required to be able to represent all values of extended integer types wider than long long, and uintmax_t is not required to be able to represent all values of extended integer types wider than unsigned long long."