[libc-commits] [libc] [libc] Make BigInt bit_cast-able to compatible types (PR #75063)

Guillaume Chatelet via libc-commits libc-commits at lists.llvm.org
Mon Dec 11 09:18:03 PST 2023


gchatelet wrote:

The recent breakage on the arm32 build bot might also be related to how `BigInt<128, false>` is implemented.

https://lab.llvm.org/buildbot/#/builders/229/builds/20953/steps/6/logs/stdio
```
/llvm/libc_worker/worker/libc-arm32-debian/libc-arm32-debian-dbg/llvm-project/libc/src/__support/FPUtil/FloatProperties.h:134:3: error: static_assert failed due to requirement '(SIG_MASK | EXP_MASK | SIGN_MASK_) == FP_MASK' "masks covers"
  static_assert((SIG_MASK | EXP_MASK | SIGN_MASK_) == FP_MASK, "masks covers");
  ^             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```

This fails during Intel Extended Precision instantiation which requires 128 bit types. ARM32 does not have `__uint128_t` and uses `cpp::UInt<128>`.

https://github.com/llvm/llvm-project/pull/75063


More information about the libc-commits mailing list