[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