]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
testsuite - Fix gcc.c-torture/execute/ieee/pr108540-1.c
authorGeorg-Johann Lay <avr@gjlay.de>
Thu, 3 Oct 2024 11:14:52 +0000 (13:14 +0200)
committerGeorg-Johann Lay <avr@gjlay.de>
Fri, 4 Oct 2024 08:15:48 +0000 (10:15 +0200)
  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
gcc/testsuite/gcc.c-torture/execute/ieee/pr108540-1.x [new file with mode: 0644]

index ebd4c502ee5d039b37460f15481fd01c8e718b74..db094418a7910eb1ad27613208834f187b63841e 100644 (file)
@@ -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 (file)
index 0000000..06d93ef
--- /dev/null
@@ -0,0 +1,7 @@
+load_lib target-supports.exp
+
+if { ! [check_effective_target_double64] } {
+    return 1
+}
+
+return 0