re PR target/70941 (Test miscompiled with -O2.)
authorJakub Jelinek <jakub@redhat.com>
Fri, 6 May 2016 15:23:56 +0000 (17:23 +0200)
committerJakub Jelinek <jakub@gcc.gnu.org>
Fri, 6 May 2016 15:23:56 +0000 (17:23 +0200)
PR middle-end/70941
* gcc.dg/torture/pr70941.c (abort): Remove prototype.
(a, b, c, d): Change type from char to signed char.
(main): Compare against (signed char) -1634678893 instead of
hardcoded -109.  Use __builtin_abort instead of abort.

From-SVN: r235978

gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/torture/pr70941.c

index 75fa9c6d94e9b4f84a5c1500bd94088db228f1b5..31a65a410e3c1e852be618536f48bd88a39a501b 100644 (file)
@@ -1,5 +1,11 @@
 2016-05-06  Jakub Jelinek  <jakub@redhat.com>
 
+       PR middle-end/70941
+       * gcc.dg/torture/pr70941.c (abort): Remove prototype.
+       (a, b, c, d): Change type from char to signed char.
+       (main): Compare against (signed char) -1634678893 instead of
+       hardcoded -109.  Use __builtin_abort instead of abort.
+
        * gcc.target/i386/avx512bw-vpsraw-3.c: New test.
        * gcc.target/i386/avx512vl-vpsrad-3.c: New test.
 
index 3a57081abc703836f0136a17c8f7a6b0c3d70ad0..eb37a1fb2935b6fbb78627740fd477cc6ecb4552 100644 (file)
@@ -1,14 +1,12 @@
 /* { dg-do run } */
 /* { dg-require-effective-target int32plus } */
 
-extern void abort (void);
-
-char a = 0, b = 0, c = 0, d = 0;
+signed char a = 0, b = 0, c = 0, d = 0;
 
 int main()
 {
   a = -(b - 405418259) - ((d && c) ^ 2040097152);
-  if (a != -109)
-    abort();
+  if (a != (signed char) -1634678893)
+    __builtin_abort ();
   return 0;
 }