Hi!

As mentioned in the PR, the testcase fails on big-endian targets.
The following patch tweaks it so that it does not fail there and still
checks for the original bug.

Tested on x86_64-linux and i686-linux, ok for trunk and release branches?

2018-11-21  Jakub Jelinek  <ja...@redhat.com>

        PR rtl-optimization/85925
        * gcc.c-torture/execute/20181120-1.c (u): New variable.
        (main): Compare d against u.f1 rather than 0x101.

--- gcc/testsuite/gcc.c-torture/execute/20181120-1.c.jj 2018-11-20 
21:39:05.230507352 +0100
+++ gcc/testsuite/gcc.c-torture/execute/20181120-1.c    2018-11-21 
11:49:29.919488909 +0100
@@ -9,6 +9,7 @@ union U1 {
   unsigned f0;
   unsigned f1 : 15;
 };
+volatile union U1 u = { 0x10101 };
 
 int main (void)
 {
@@ -19,7 +20,7 @@ int main (void)
     *e = f.f1;
   }
 
-  if (d != 0x101)
+  if (d != u.f1)
     __builtin_abort ();
 
   return 0;

        Jakub

Reply via email to