// RUN: %clang -g -fsanitize=function %s -o %t
// RUN: %run %t 2>&1 | FileCheck %s --check-prefix=CHECK --implicit-check-not='runtime error:'
void f(void (*fp)(int (*)[])) { fp(0); }
void callee0(int (*a)[]) {}
void callee1(int (*a)[1]) {}
int main() {
int a[1];
f(callee0);
// CHECK: runtime error: call to function callee1 through pointer to incorrect function type 'void (*)(int (*)[])'
f(callee1); // compatible type in C, but flagged
}