testsuite: Fix up pr64536.c for LLP64 targets [PR108151]
authorJakub Jelinek <jakub@redhat.com>
Mon, 19 Dec 2022 12:49:52 +0000 (13:49 +0100)
committerJakub Jelinek <jakub@redhat.com>
Mon, 19 Dec 2022 12:49:52 +0000 (13:49 +0100)
The test casts a pointer to long, which is ok for ilp32 and lp64
targets but not for llp64 targets.  Nothing reads the values later,
it is a link test, so all we care about is that it is the same
cast on s390x-linux where it used to fail before the PR64536 fix,
and that we don't warn about it.

2022-12-19  Jakub Jelinek  <jakub@redhat.com>

PR testsuite/108151
* gcc.dg/pr64536.c (bar): Use casts to __INTPTR_TYPE__ rather than
long when casting pointer to integral type.

gcc/testsuite/gcc.dg/pr64536.c

index f2728fb..bca2d4f 100644 (file)
@@ -41,7 +41,7 @@ bar (int x)
            }
          else
            i = (long *) (h->q = *f);
-         *c++ = (long) f;
+         *c++ = (__INTPTR_TYPE__) f;
          e += 6;
        }
       else
@@ -55,7 +55,7 @@ bar (int x)
            }
          else
            i = (long *) (h->q = *f);
-         *c++ = (long) f;
+         *c++ = (__INTPTR_TYPE__) f;
          e += 6;
        }
     }