On Apr 6, 2023, "Kewen.Lin" <[email protected]> wrote:
> The reason why personally I preferred to fix it with xfail is that:
Got it. I'm convinced, and I agree.
I tried an xfail in the initial dg-do, but that is no good for a compile
error, so I went for a dg-bogus xfail. I hope that will still have the
intended effect when __ibm128 is defined when it currently isn't.
There is a dg-skip-if in this test on the trunk, covering some targets,
that IIRC are longdouble64, so maybe that's related and I could have
dropped them, but I wasn't sure, so I left them alone.
Regstrapped on ppc64-linux-gnu (pass), also tested on ppc64-vx7r2/gcc-12
(xfail). Ok to install?
[PR99708] [rs6000] don't expect __ibm128 with 64-bit long double
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.
for gcc/testsuite/ChangeLog
* gcc.target/powerpc/pr99708.c: Accept lack of
__SIZEOF_IBM128__ when long double is 64-bit wide.
---
gcc/testsuite/gcc.target/powerpc/pr99708.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/gcc/testsuite/gcc.target/powerpc/pr99708.c
b/gcc/testsuite/gcc.target/powerpc/pr99708.c
index 02b40ebc40d3d..66a5f88479330 100644
--- a/gcc/testsuite/gcc.target/powerpc/pr99708.c
+++ b/gcc/testsuite/gcc.target/powerpc/pr99708.c
@@ -14,7 +14,7 @@
int main (void)
{
if (__SIZEOF_FLOAT128__ != sizeof (__float128)
- || __SIZEOF_IBM128__ != sizeof (__ibm128))
+ || __SIZEOF_IBM128__ != sizeof (__ibm128)) /* { dg-bogus "undeclared" ""
{ xfail longdouble64 } } */
abort ();
return 0;
--
Alexandre Oliva, happy hacker https://FSFLA.org/blogs/lxo/
Free Software Activist GNU Toolchain Engineer
Disinformation flourishes because many people care deeply about injustice
but very few check the facts. Ask me about <https://stallmansupport.org>