From a0cc6941d8c8fa88441fdae1ffb35396a412ec6b Mon Sep 17 00:00:00 2001
From: Georg-Johann Lay <avr@gjlay.de>
Date: Thu, 3 Oct 2024 13:14:52 +0200
Subject: [PATCH] testsuite - Fix gcc.c-torture/execute/ieee/pr108540-1.c

	  PR testsuite/108540
gcc/testsuite/
	* gcc.c-torture/execute/ieee/pr108540-1.c: Un-preprocess
	__SIZE_TYPE__ and __INT64_TYPE__.
	* gcc.c-torture/execute/ieee/pr108540-1.x: New file, requires double64.
---
 gcc/testsuite/gcc.c-torture/execute/ieee/pr108540-1.c | 6 +++---
 gcc/testsuite/gcc.c-torture/execute/ieee/pr108540-1.x | 7 +++++++
 2 files changed, 10 insertions(+), 3 deletions(-)
 create mode 100644 gcc/testsuite/gcc.c-torture/execute/ieee/pr108540-1.x

diff --git a/gcc/testsuite/gcc.c-torture/execute/ieee/pr108540-1.c b/gcc/testsuite/gcc.c-torture/execute/ieee/pr108540-1.c
index ebd4c502ee5d..db094418a791 100644
--- a/gcc/testsuite/gcc.c-torture/execute/ieee/pr108540-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/ieee/pr108540-1.c
@@ -1,7 +1,7 @@
 /* PR tree-optimization/108540 */
 
 __attribute__((noipa)) void
-bar (const char *cp, unsigned long size, char sign, int dsgn)
+bar (const char *cp, __SIZE_TYPE__ size, char sign, int dsgn)
 {
   if (__builtin_strcmp (cp, "ZERO") != 0 || size != 4 || sign != '-' || dsgn != 1)
     __builtin_abort ();
@@ -11,7 +11,7 @@ __attribute__((noipa)) void
 foo (int x, int ch, double d)
 {
   const char *cp = "";
-  unsigned long size = 0;
+  __SIZE_TYPE__ size = 0;
   char sign = '\0';
   switch (x)
     {
@@ -41,7 +41,7 @@ foo (int x, int ch, double d)
 	sign = '\0';
       if (ch == 'a' || ch == 'A')
 	{
-	  union U { long long l; double d; } u;
+	  union U { __INT64_TYPE__ l; double d; } u;
 	  int dsgn;
 	  u.d = d;
 	  if (u.l < 0)
diff --git a/gcc/testsuite/gcc.c-torture/execute/ieee/pr108540-1.x b/gcc/testsuite/gcc.c-torture/execute/ieee/pr108540-1.x
new file mode 100644
index 000000000000..06d93efeb991
--- /dev/null
+++ b/gcc/testsuite/gcc.c-torture/execute/ieee/pr108540-1.x
@@ -0,0 +1,7 @@
+load_lib target-supports.exp
+
+if { ! [check_effective_target_double64] } {
+    return 1
+}
+
+return 0
-- 
GitLab