Patchwork gcc.dg/torture/vector-shift2.c fails execution

login
register
mail settings
Submitter Sofiane Naci
Date Dec. 8, 2010, 3:42 p.m.
Message ID <000001cb96ee$7bb2a840$7317f8c0$@Naci@arm.com>
Download mbox | patch
Permalink /patch/74740/
State New
Headers show

Comments

Sofiane Naci - Dec. 8, 2010, 3:42 p.m.
Hi,

This patch fixes this failing test caused by not explicitly specifying the
signed-ness of chars. The fix updates the test source.

Thanks
Sofiane

-----

gcc/testsuite

2010-12-07  Sofiane Naci  <Sofiane.Naci@arm.com>

   * gcc.dg/torture/vector-shift2.c: Change "char" to "signed char" where
     appropriate.

Patch

Index: gcc/testsuite/gcc.dg/torture/vector-shift2.c
===================================================================
--- gcc/testsuite/gcc.dg/torture/vector-shift2.c	(revision 167535)
+++ gcc/testsuite/gcc.dg/torture/vector-shift2.c	(working copy)
@@ -5,6 +5,7 @@ 
 
 #define vidx(type, vec, idx) (*((type *) &(vec) + idx))
 #define uchar unsigned char
+#define schar signed char
 
 #define ch14 1,2,3,4
 #define ch1  1,1,1,1
@@ -12,43 +13,43 @@ 
 
 int main (int argc, char *argv[]) {
     vector(16, uchar) vuchar  = { ch14, ch14, ch14, ch14};
-    vector(16,  char) vchar0  = { ch1, ch1, ch1, ch1};
-    vector(16,  char) vchar1  = { chm1, chm1, chm1, chm1};
+    vector(16, schar) vchar0  = { ch1, ch1, ch1, ch1};
+    vector(16, schar) vchar1  = { chm1, chm1, chm1, chm1};
 
-    vector(16,  char) i1, i2, i3;
+    vector(16, schar) i1, i2, i3;
     vector(16, uchar) u1, u2, u3;
 
     i1 = vchar1<< vchar0;
     
-    if (vidx(char, i1, 0) != ((char)-1 << (char)1))
+    if (vidx(schar, i1, 0) != ((schar)-1 << (schar)1))
         __builtin_abort ();
-    if (vidx(char, i1, 1) != ((char)-1 << (char)1))
+    if (vidx(schar, i1, 1) != ((schar)-1 << (schar)1))
         __builtin_abort ();
-    if (vidx(char, i1, 2) != ((char)-1 << (char)1))
+    if (vidx(schar, i1, 2) != ((schar)-1 << (schar)1))
         __builtin_abort ();
-    if (vidx(char, i1, 3) != ((char)-1 << (char)1))
+    if (vidx(schar, i1, 3) != ((schar)-1 << (schar)1))
         __builtin_abort ();
     u1 = vuchar << vchar0;
 
-    if (vidx(char, u1, 0) != ((uchar)1  << (char)1))
+    if (vidx(schar, u1, 0) != ((uchar)1  << (schar)1))
         __builtin_abort ();
-    if (vidx(char, u1, 1) != ((uchar)2  << (char)1))
+    if (vidx(schar, u1, 1) != ((uchar)2  << (schar)1))
         __builtin_abort ();
-    if (vidx(char, u1, 2) != ((uchar)3  << (char)1))
+    if (vidx(schar, u1, 2) != ((uchar)3  << (schar)1))
         __builtin_abort ();
-    if (vidx(char, u1, 3) != ((uchar)4  << (char)1))
+    if (vidx(schar, u1, 3) != ((uchar)4  << (schar)1))
         __builtin_abort ();
 
     
     i2 = vchar1 >> vuchar;
 
-    if (vidx(char, i2, 0) != ((char)-1  >> (uchar)1))
+    if (vidx(schar, i2, 0) != ((schar)-1  >> (uchar)1))
         __builtin_abort ();
-    if (vidx(char, i2, 1) != ((char)-1  >> (uchar)2))
+    if (vidx(schar, i2, 1) != ((schar)-1  >> (uchar)2))
         __builtin_abort ();
-    if (vidx(char, i2, 2) != ((char)-1  >> (uchar)3))
+    if (vidx(schar, i2, 2) != ((schar)-1  >> (uchar)3))
         __builtin_abort ();
-    if (vidx(char, i2, 3) != ((char)-1  >> (uchar)4))
+    if (vidx(schar, i2, 3) != ((schar)-1  >> (uchar)4))
         __builtin_abort ();
     
     vchar1 >>= vuchar;