[llvm-commits] [test-suite] r165725 - /test-suite/trunk/SingleSource/UnitTests/2003-07-09-SignedArgs.c

Bill Schmidt wschmidt at linux.vnet.ibm.com
Thu Oct 11 10:17:33 PDT 2012


Author: wschmidt
Date: Thu Oct 11 12:17:33 2012
New Revision: 165725

URL: http://llvm.org/viewvc/llvm-project?rev=165725&view=rev
Log:

Patch by Ulrich Weigand:

The SingleSource/UnitTests/2003-07-09-SignedArgs.c test case
fails on PowerPC because it wants to verify that "char" arguments
are sign-extended.  However, whether a plain "char" is signed or
unsigned in C is implementation-defined, and on PowerPC plain
char happens to be unsigned.

The committed patch fixes the test by simply making the assumption
explicit and using "signed char" instead of "char" throughout.

Modified:
    test-suite/trunk/SingleSource/UnitTests/2003-07-09-SignedArgs.c

Modified: test-suite/trunk/SingleSource/UnitTests/2003-07-09-SignedArgs.c
URL: http://llvm.org/viewvc/llvm-project/test-suite/trunk/SingleSource/UnitTests/2003-07-09-SignedArgs.c?rev=165725&r1=165724&r2=165725&view=diff
==============================================================================
--- test-suite/trunk/SingleSource/UnitTests/2003-07-09-SignedArgs.c (original)
+++ test-suite/trunk/SingleSource/UnitTests/2003-07-09-SignedArgs.c Thu Oct 11 12:17:33 2012
@@ -7,13 +7,15 @@
 #include <stdarg.h>
 #include <inttypes.h>
 
-short getShort(char c, char c2, char c3, short s, short s2, int i);
-int   getUnknown(char c, ...);
+typedef signed char schar;
 
-int passShort(char c, short s)
+short getShort(schar c, schar c2, schar c3, short s, short s2, int i);
+int   getUnknown(schar c, ...);
+
+int passShort(schar c, short s)
 {
-  char  c2 = s + c;
-  char  c3 = s - c;
+  schar c2 = s + c;
+  schar c3 = s - c;
   short s2 = s * c;
   int    i = s * s * c * c;
   short s3 = getShort(c, c2, c3, s, s2, i);   /* args shd be sign-extended */
@@ -26,11 +28,11 @@
   return 0;
 }
 
-short getShort(char c, char c2, char c3, short s, short s2, int i)
+short getShort(schar c, schar c2, schar c3, short s, short s2, int i)
 {
-  int bc  = c  == (char) -128;
-  int bc2 = c2 == (char) 116;
-  int bc3 = c3 == (char) 116;
+  int bc  = c  == (schar) -128;
+  int bc2 = c2 == (schar) 116;
+  int bc3 = c3 == (schar) 116;
   int bs  = s  == (short) -3852;
   int bs2 = s2 == (short) -31232;
   int bi  = i  == (int) -1708916736;
@@ -40,16 +42,16 @@
   return (c + c2 + c3 + s + s2) + (short) i;
 }
 
-int getUnknown(char c, ...)
+int getUnknown(schar c, ...)
 {
-  char c2, c3;
+  schar c2, c3;
   short s, s2, s3;
   int i;
   va_list ap;
 
   va_start(ap, c);
-  c2 = (char)  va_arg(ap, int);
-  c3 = (char)  va_arg(ap, int);
+  c2 = (schar) va_arg(ap, int);
+  c3 = (schar) va_arg(ap, int);
   s  = (short) va_arg(ap, int);
   s2 = (short) va_arg(ap, int);
   s3 = (short) va_arg(ap, int);





More information about the llvm-commits mailing list