diff options
Diffstat (limited to 'gcc/testsuite/gcc.c-torture/execute/20060412-1.c')
-rw-r--r-- | gcc/testsuite/gcc.c-torture/execute/20060412-1.c | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.c-torture/execute/20060412-1.c b/gcc/testsuite/gcc.c-torture/execute/20060412-1.c new file mode 100644 index 000000000..a4cc4d450 --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/execute/20060412-1.c @@ -0,0 +1,33 @@ +extern void abort (void); + +struct S +{ + long o; +}; + +struct T +{ + long o; + struct S m[82]; +}; + +struct T t; + +int +main () +{ + struct S *p, *q; + + p = (struct S *) &t; + p = &((struct T *) p)->m[0]; + q = p + 82; + while (--q > p) + q->o = -1; + q->o = 0; + + if (q > p) + abort (); + if (q - p > 0) + abort (); + return 0; +} |