diff options
Diffstat (limited to 'test/external/c-testsuite/tests/single-exec/00089.c')
| -rw-r--r-- | test/external/c-testsuite/tests/single-exec/00089.c | 30 |
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(); +} |