OSDN Git Service

2011-08-22 Richard Guenther <rguenther@suse.de>
authorrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 22 Aug 2011 10:27:42 +0000 (10:27 +0000)
committerrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 22 Aug 2011 10:27:42 +0000 (10:27 +0000)
PR testsuite/50145
* gcc.dg/torture/pr50067-1.c: Run on little-endian systems only.
* gcc.dg/torture/pr50067-2.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@177952 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/torture/pr50067-1.c
gcc/testsuite/gcc.dg/torture/pr50067-2.c

index b0b54de..b81501b 100644 (file)
@@ -1,3 +1,9 @@
+2011-08-22  Richard Guenther  <rguenther@suse.de>
+
+       PR testsuite/50145
+       * gcc.dg/torture/pr50067-1.c: Run on little-endian systems only.
+       * gcc.dg/torture/pr50067-2.c: Likewise.
+
 2011-08-21  Thomas Koenig  <tkoenig@gcc.gnu.org>
 
        PR fortran/47659
index 8f72d26..8201ebf 100644 (file)
@@ -9,10 +9,15 @@ short a[32] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18
 short b[32] = { 4, 0, 5, 0, 6, 0, 7, 0, 8, 0, };
 int main()
 {
+#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
   int i;
-  for (i = 0; i < 32; ++i)
-    (*((unsigned short(*)[32])&a[0]))[i] = (*((char(*)[32])&a[0]))[i+8];
-  if (memcmp (&a, &b, sizeof (a)) != 0)
-    abort ();
+  if (sizeof (short) == 2)
+    {
+      for (i = 0; i < 32; ++i)
+       (*((unsigned short(*)[32])&a[0]))[i] = (*((char(*)[32])&a[0]))[i+8];
+      if (memcmp (&a, &b, sizeof (a)) != 0)
+       abort ();
+    }
+#endif
   return 0;
 }
index ee9fbb9..f9728a7 100644 (file)
@@ -9,12 +9,17 @@ short a[32] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18
 short b[32] = { 4, 0, 5, 0, 6, 0, 7, 0, 8, 0, };
 int main()
 {
+#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
   int i;
-  for (i = 0; i < 32; ++i)
+  if (sizeof (short) == 2)
     {
-      a[i] = (*((char(*)[32])&a[0]))[i+8];
+      for (i = 0; i < 32; ++i)
+       {
+         a[i] = (*((char(*)[32])&a[0]))[i+8];
+       }
+      if (memcmp (&a, &b, sizeof (a)) != 0)
+       abort ();
     }
-  if (memcmp (&a, &b, sizeof (a)) != 0)
-    abort ();
+#endif
   return 0;
 }