[libcxx-commits] [libcxx] Fix one case in saturate_cast.pass.cpp for 64-bit on z/OS (PR #86724)

Louis Dionne via libcxx-commits libcxx-commits at lists.llvm.org
Tue Mar 26 13:14:51 PDT 2024


================
@@ -329,7 +329,7 @@ constexpr bool test() {
   { [[maybe_unused]] std::same_as<unsigned long int> decltype(auto) _ = std::saturate_cast<unsigned long int>(sBigMax); }
   assert(std::saturate_cast<unsigned long int>(  sBigMin) == 0UL);       // saturated
   assert(std::saturate_cast<unsigned long int>(    sZero) == 0UL);
-  assert(std::saturate_cast<unsigned long int>(  sBigMax) == ULONG_MAX); // saturated
+  assert(std::saturate_cast<unsigned long int>(  sBigMax) == (sizeof(UIntT)>sizeof(unsigned long int)?ULONG_MAX:LONG_MAX)); // saturated depending on underlying types
----------------
ldionne wrote:

```suggestion
  assert(std::saturate_cast<unsigned long int>( sBigMax) == (sizeof(UIntT) > sizeof(unsigned long int) ? ULONG_MAX : LONG_MAX)); // saturated depending on underlying types
```

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


More information about the libcxx-commits mailing list