From 86b31d583a3657f11d930ff156c07b2e20ab05eb Mon Sep 17 00:00:00 2001 From: Alexandre Oliva Date: Fri, 14 Apr 2023 23:53:36 -0300 Subject: [PATCH] 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. --- gcc/testsuite/gcc.target/powerpc/pr99708.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) 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 } } */ -- 2.47.2