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

Reply via email to