summary refs log tree commit diff stats
path: root/tinyc/tests/tests2/42_function_pointer.c
diff options
context:
space:
mode:
Diffstat (limited to 'tinyc/tests/tests2/42_function_pointer.c')
-rw-r--r--tinyc/tests/tests2/42_function_pointer.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/tinyc/tests/tests2/42_function_pointer.c b/tinyc/tests/tests2/42_function_pointer.c
new file mode 100644
index 000000000..697bd79a6
--- /dev/null
+++ b/tinyc/tests/tests2/42_function_pointer.c
@@ -0,0 +1,22 @@
+#include <stdio.h>
+
+int fred(int p)
+{
+   printf("yo %d\n", p);
+   return 42;
+}
+
+int (*f)(int) = &fred;
+
+/* To test what this is supposed to test the destination function
+   (fprint here) must not be called directly anywhere in the test.  */
+int (*fprintfptr)(FILE *, const char *, ...) = &fprintf;
+
+int main()
+{
+   fprintfptr(stdout, "%d\n", (*f)(24));
+
+   return 0;
+}
+
+/* vim: set expandtab ts=4 sw=3 sts=3 tw=80 :*/