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 <linkw@linux.ibm.com>
for gcc/testsuite/ChangeLog
PR target/99708
* gcc.target/powerpc/pr99708.c: Accept lack of
__SIZEOF_IBM128__ when long double is 64-bit wide.
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 } } */