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

Reply via email to