aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/testsuite/gcc.dg/torture/pr47281.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc-4.9/gcc/testsuite/gcc.dg/torture/pr47281.c')
-rw-r--r--gcc-4.9/gcc/testsuite/gcc.dg/torture/pr47281.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/gcc-4.9/gcc/testsuite/gcc.dg/torture/pr47281.c b/gcc-4.9/gcc/testsuite/gcc.dg/torture/pr47281.c
new file mode 100644
index 000000000..517e8548e
--- /dev/null
+++ b/gcc-4.9/gcc/testsuite/gcc.dg/torture/pr47281.c
@@ -0,0 +1,23 @@
+/* { dg-do compile } */
+
+struct T;
+typedef void F(void);
+
+F* aux(void (*x)())
+{
+ return x;
+}
+
+void make_mess (int);
+
+F*
+get_funloc (void (*x)(int), F* (*y)())
+{
+ return y(x);
+}
+
+F*
+foo ()
+{
+ return get_funloc (make_mess, aux);
+}