]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
rs6000: don't expect __ibm128 with 64-bit long double [PR99708]
authorAlexandre Oliva <oliva@adacore.com>
Sat, 15 Apr 2023 02:53:36 +0000 (23:53 -0300)
committerAlexandre Oliva <oliva@gnu.org>
Sat, 15 Apr 2023 02:53:57 +0000 (23:53 -0300)
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.

gcc/testsuite/gcc.target/powerpc/pr99708.c

index 02b40ebc40d3dd0f0be024c074e81aa8f3774081..c6aa0511b89259dc288bc416b53b48f294622a5b 100644 (file)
 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 } } */