Hello,
On the WIP aarch64-darwin port of GCC
(https://github.com/iains/gcc-darwin-arm64), there are some C++ testsuite
failures which are due to the following:
1. The testsuite check_effective_target_has_q_floating_suffix check tries to
compile the code "float dummy = 1.0q;” to determine if the q suffix is allowed
on floating-point types.
2. The check should pass on aarch64-darwin, and indeed the code compiles,
because the q suffix matches the _Float128 type.
3. However, a warning is emitted which makes the test fail:
a.cpp:1:15: warning: converting to 'float' from '_Float128' with greater
conversion rank
1 | float dummy = 1.0q;
| ^~~~
4. Therefore, the expectations of the different tests fail.
Now, I am not sure why other targets are not affected in the same way, for
example, x86_64-linux or x86_64-darwin. Also, I am unsure: is the warning
warranted here? If so, we should adjust the check to silence warnings, or use a
cast. Or is the warning emitted in error?
Any help would be appreciated.
Thanks,
FX