diff options
Diffstat (limited to 'gcc/testsuite/gcc.c-torture/execute/20000706-5.c')
-rw-r--r-- | gcc/testsuite/gcc.c-torture/execute/20000706-5.c | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.c-torture/execute/20000706-5.c b/gcc/testsuite/gcc.c-torture/execute/20000706-5.c new file mode 100644 index 000000000..18756f29d --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/execute/20000706-5.c @@ -0,0 +1,28 @@ +extern void abort(void); +extern void exit(int); + +struct baz { int a, b, c; }; + +struct baz *c; + +void bar(int b) +{ + if (c->a != 1 || c->b != 2 || c->c != 3 || b != 4) + abort(); +} + +void foo(struct baz a, int b) +{ + c = &a; + bar(b); +} + +int main() +{ + struct baz a; + a.a = 1; + a.b = 2; + a.c = 3; + foo(a, 4); + exit(0); +} |