diff options
Diffstat (limited to 'gcc/testsuite/gcc.c-torture/execute/20001024-1.c')
-rw-r--r-- | gcc/testsuite/gcc.c-torture/execute/20001024-1.c | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.c-torture/execute/20001024-1.c b/gcc/testsuite/gcc.c-torture/execute/20001024-1.c new file mode 100644 index 000000000..42be8abca --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/execute/20001024-1.c @@ -0,0 +1,34 @@ +struct a; + +extern int baz (struct a *__restrict x); + +struct a { + long v; + long w; +}; + +struct b { + struct a c; + struct a d; +}; + +int bar (int x, const struct b *__restrict y, struct b *__restrict z) +{ + if (y->c.v || y->c.w != 250000 || y->d.v || y->d.w != 250000) + abort(); +} + +void foo(void) +{ + struct b x; + x.c.v = 0; + x.c.w = 250000; + x.d = x.c; + bar(0, &x, ((void *)0)); +} + +int main() +{ + foo(); + exit(0); +} |