diff options
Diffstat (limited to 'gcc/testsuite/gcc.dg/max-1.c')
-rw-r--r-- | gcc/testsuite/gcc.dg/max-1.c | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/gcc/testsuite/gcc.dg/max-1.c b/gcc/testsuite/gcc.dg/max-1.c index a5f1605..40f2145 100644 --- a/gcc/testsuite/gcc.dg/max-1.c +++ b/gcc/testsuite/gcc.dg/max-1.c @@ -7,14 +7,19 @@ /* m32c has varying sized pointers */ /* { dg-skip-if "" { "m32c-*-*" } { "*" } { "-mcpu=m32c" "-mcpu=m32cm" } } */ +/* Kludge to make it signed. */ +#define unsigned signed +__extension__ typedef __SIZE_TYPE__ ssize_t; +#undef unsigned + extern void abort (void); -long fff[10]; +ssize_t fff[10]; -void f(long a, long b) +void f(ssize_t a, ssize_t b) { - long crcc = b; - long d = *((long*)(a+1)); + ssize_t crcc = b; + ssize_t d = *((ssize_t*)(a+1)); int i; a = d >= b? d:b; @@ -27,11 +32,11 @@ void f(long a, long b) /* The variable a cannot be a local variable as we get better aliasing now and decide that the store to a is dead. The better aliasing comes from better representation of pointer arithmetic. */ -long a = 10; +ssize_t a = 10; int main(void) { int i; - f((long)(&a)-1,0); + f((ssize_t)(&a)-1,0); for(i = 0;i<10;i++) if (fff[i]!=10) abort (); |