mirror of
https://github.com/frida/tinycc
synced 2024-11-30 19:43:07 +03:00
77d7ea04ac
See testcase. Function pointer use was hosed when the destination function wasn't also called normally by the program.
23 lines
418 B
C
23 lines
418 B
C
#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 :*/
|