/* { dg-do compile } */ | |
/* { dg-options "-O2" } */ | |
struct _wincore | |
{ | |
int width, height; | |
}; | |
void fn1 (int); | |
void fn2 (int, int, int *); | |
static void | |
foo (void *dpy, struct _wincore *winInfo, int offset) | |
{ | |
fn1 (winInfo->height); | |
} | |
static void | |
bar (void *dpy, int winInfo, int *visrgn) | |
{ | |
((void (*) (void *, int, int)) foo) ((void *) 0, winInfo, 0); /* { dg-warning "function called through a non-compatible type" } */ | |
fn2 (0, 0, visrgn); | |
} | |
void | |
baz (void *dpy, int win, int prop) | |
{ | |
bar ((void *) 0, 0, (int *) 0); | |
} |