From: Alexandre Oliva Date: Sat, 15 Apr 2023 02:53:36 +0000 (-0300) Subject: rs6000: don't expect __ibm128 with 64-bit long double [PR99708] X-Git-Tag: basepoints/gcc-14~16 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=86b31d583a3657f11d930ff156c07b2e20ab05eb;p=thirdparty%2Fgcc.git rs6000: don't expect __ibm128 with 64-bit long double [PR99708] When long double is 64-bit wide, as on vxworks, the rs6000 backend defines neither the __ibm128 type nor the __SIZEOF_IBM128__ macro, but pr99708.c expected both to be always defined. Adjust the test to match the implementation. Co-Authored-By: Kewen Lin for gcc/testsuite/ChangeLog PR target/99708 * gcc.target/powerpc/pr99708.c: Accept lack of __SIZEOF_IBM128__ when long double is 64-bit wide. --- diff --git a/gcc/testsuite/gcc.target/powerpc/pr99708.c b/gcc/testsuite/gcc.target/powerpc/pr99708.c index 02b40ebc40d3..c6aa0511b892 100644 --- a/gcc/testsuite/gcc.target/powerpc/pr99708.c +++ b/gcc/testsuite/gcc.target/powerpc/pr99708.c @@ -14,9 +14,17 @@ int main (void) { if (__SIZEOF_FLOAT128__ != sizeof (__float128) - || __SIZEOF_IBM128__ != sizeof (__ibm128)) + /* FIXME: Once type __ibm128 gets supported with long-double-64, + we shouldn't need this conditional #ifdef and xfail. */ +#ifdef __SIZEOF_IBM128__ + || __SIZEOF_IBM128__ != sizeof (__ibm128) +#else + || 1 +#endif + ) abort (); return 0; } +/* { dg-xfail-run-if "unsupported type __ibm128 with long-double-64" { longdouble64 } } */