| Issue |
173202
|
| Summary |
Missing typedefs `int128_t` and `uint128_t`
|
| Labels |
new issue
|
| Assignees |
|
| Reporter |
eisenwave
|
https://godbolt.org/z/8ebWvq543
```cpp
#include <cstdint>
#include <type_traits>
static_assert(std::is_integral_v<__int128>); // OK
using i128 = std::int128_t; // error
```
The assertion passes, but libc++ 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.
See also https://gcc.gnu.org/bugzilla/show_bug.cgi?id=123241
_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs