1*67e74705SXin Li // RUN: %clang_cc1 %s -fsyntax-only -verify -pedantic 2*67e74705SXin Li 3*67e74705SXin Li typedef const char rchar; a(char * a,rchar * b)4*67e74705SXin Liint a(char* a, rchar* b) { 5*67e74705SXin Li return a-b; 6*67e74705SXin Li } 7*67e74705SXin Li 8*67e74705SXin Li // <rdar://problem/6520707> f0(void (* fp)(void))9*67e74705SXin Livoid f0(void (*fp)(void)) { 10*67e74705SXin Li int x = fp - fp; // expected-warning{{arithmetic on pointers to the function type 'void (void)' is a GNU extension}} 11*67e74705SXin Li } 12