aboutsummaryrefslogtreecommitdiffhomepage
path: root/test/external/c-testsuite/tests/single-exec/00089.c
diff options
context:
space:
mode:
Diffstat (limited to 'test/external/c-testsuite/tests/single-exec/00089.c')
-rw-r--r--test/external/c-testsuite/tests/single-exec/00089.c30
1 files changed, 30 insertions, 0 deletions
diff --git a/test/external/c-testsuite/tests/single-exec/00089.c b/test/external/c-testsuite/tests/single-exec/00089.c
new file mode 100644
index 0000000..9331b2d
--- /dev/null
+++ b/test/external/c-testsuite/tests/single-exec/00089.c
@@ -0,0 +1,30 @@
+int
+zero()
+{
+ return 0;
+}
+
+struct S
+{
+ int (*zerofunc)();
+} s = { &zero };
+
+struct S *
+anon()
+{
+ return &s;
+}
+
+typedef struct S * (*fty)();
+
+fty
+go()
+{
+ return &anon;
+}
+
+int
+main()
+{
+ return go()()->zerofunc();
+}