[compiler-rt] [builtins] Fix divtc3.c etc. compilation on Solaris/SPARC with gcc (PR #101662)

Zibi Sarbinowski via llvm-commits llvm-commits at lists.llvm.org
Wed Aug 14 11:47:06 PDT 2024


zibi2 wrote:

@rorth Rainer, this change broke the following libcxx'`s lit tests on z/OS:

```
std/numerics/complex.number/complex.transcendentals/pow_complex_complex.pass.cpp
std/numerics/complex.number/complex.member.ops/divide_equal_complex.pass.cpp
std/numerics/complex.number/complex.transcendentals/pow_complex_scalar.pass.cpp
std/numerics/complex.number/complex.ops/scalar_divide_complex.pass.cpp
std/numerics/complex.number/complex.transcendentals/atan.pass.cpp
std/numerics/complex.number/complex.transcendentals/atanh.pass.cpp
std/numerics/complex.number/complex.ops/complex_divide_complex.pass.cpp
std/numerics/complex.number/complex.member.ops/times_equal_complex.pass.cpp
std/numerics/complex.number/complex.transcendentals/pow_scalar_complex.pass.cpp
std/numerics/complex.number/cmplx.over/pow.pass.cpp
```

They all failed since after this change `__divtc3` and `__multc3` are not available. It looks like only `CRT_HAS_F128` macro is defined. which was used originally to guard definitions of those functions. 

On z/OS we don't define CRT_HAD_128BIT and according to this [snippet code](https://github.com/llvm/llvm-project/blob/main/compiler-rt/lib/builtins/int_types.h#L71C1-L76C7) from `int)types.h` Microsoft as well so they might be affected as well.

Would you be able to revert this change and come up with the proper fix for this?  

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


More information about the llvm-commits mailing list