testsuite: Fix up pr106070.c test [PR106070]
authorJakub Jelinek <jakub@redhat.com>
Mon, 27 Jun 2022 13:35:25 +0000 (15:35 +0200)
committerJakub Jelinek <jakub@redhat.com>
Mon, 27 Jun 2022 13:36:14 +0000 (15:36 +0200)
The test FAILs on 32-bit targets, because when unsigned long
is 32-bit, (unsigned long) -1 isn't 0xffffffffffffffff.
The options to fix this would be either using -1UL, or switch
to unsigned long long and using -1ULL, I chose the latter because
the test then FAILs in r13-1242 even on 32-bit targets.
And while at it, some deobfuscation and formatting tweaks.

2022-06-27  Jakub Jelinek  <jakub@redhat.com>

PR tree-optimization/106070
* gcc.dg/torture/pr106070.c: Use unsigned long long instead of
unsigned long and -1ULL instead of 0xffffffffffffffff, deobcuscate
and improve formatting.

gcc/testsuite/gcc.dg/torture/pr106070.c

index c36534f..f031516 100644 (file)
@@ -1,20 +1,22 @@
 /* { dg-do run } */
 
-unsigned int var_2 = 1;
-int var_4 = -1;
-int var_10 = 4;
-unsigned long arr_252;
-void __attribute__((noipa)) test() {
-  for (int a = 0; a < var_10; a += 2)
-    arr_252 = var_2 != (int)var_4 ? (unsigned long)var_4 : (unsigned long)var_2;
-}
+unsigned int a = 1;
+int b = -1;
+int c = 4;
+unsigned long long d;
 
-void test();
+void __attribute__((noipa))
+test (void)
+{
+  for (int i = 0; i < c; i += 2)
+    d = a != (int) b ? (unsigned long long) b : (unsigned long long) a;
+}
 
-int main()
+int
+main ()
 {
-  test();
-  if (arr_252 != 0xffffffffffffffff)
-    __builtin_abort();
+  test ();
+  if (d != -1ULL)
+    __builtin_abort ();
   return 0;
 }