On 1/28/25 4:51 PM, Siddhesh Poyarekar wrote:
> So the reason why I didn't go the __LONG_DOUBLE_IEEE128__ route because
> the check would then have to be something like:
> 
> powerpc*-*-* && ! ppc_default_long_double_ieee

Ah, that makes sense.



> -! { dg-do run { xfail powerpc*-*-* } }
> +! { dg-do run { xfail ppc_default_long_double_ibm } }

However, the previous test XFAILed the test for all PowerPC compiles
and your new one only XFAILs it for IBM128.  That allows our two other
long double options to not be XFAILed.  IEEE128 which is actually expected
to PASS and --without-long-double-128/-mlong-double-64, which will now
show up as a FAIL.

So yeah, ppc_default_long_double_ieee isn't ideal because we'd need the
extra test, but ppc_default_long_double_ibm isn't enough either.
It's like we need a ppc_default_long_double_not_ieee or some such.
Maybe the following would work???

     #if defined(__LONG_DOUBLE_IEEE128__)
     #error "__LONG_DOUBLE_IEEE128__ is defined"
     #endif

If not that, then we could test for either __LONG_DOUBLE_IBM128__ or
__SIZEOF_LONG_DOUBLE__ == 8.

Peter

Reply via email to