aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/testsuite/gcc.c-torture/execute/20000706-5.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc-4.9/gcc/testsuite/gcc.c-torture/execute/20000706-5.c')
-rw-r--r--gcc-4.9/gcc/testsuite/gcc.c-torture/execute/20000706-5.c28
1 files changed, 28 insertions, 0 deletions
diff --git a/gcc-4.9/gcc/testsuite/gcc.c-torture/execute/20000706-5.c b/gcc-4.9/gcc/testsuite/gcc.c-torture/execute/20000706-5.c
new file mode 100644
index 000000000..18756f29d
--- /dev/null
+++ b/gcc-4.9/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);
+}