1a5728872c7702ddd09537c95bc3cbd20e1f2fb09Daniel Dunbar// RUN: %clang_cc1 %s -fsyntax-only -verify -pedantic 2f1c7b48638a3ec78129fee9672ed8e2616e63c9cEli Friedman 3f1c7b48638a3ec78129fee9672ed8e2616e63c9cEli Friedmantypedef const char rchar; 4f1c7b48638a3ec78129fee9672ed8e2616e63c9cEli Friedmanint a(char* a, rchar* b) { 5f1c7b48638a3ec78129fee9672ed8e2616e63c9cEli Friedman return a-b; 6f1c7b48638a3ec78129fee9672ed8e2616e63c9cEli Friedman} 70804888d9162cfd422925762c161bd80f80358b9Douglas Gregor 80804888d9162cfd422925762c161bd80f80358b9Douglas Gregor// <rdar://problem/6520707> 90804888d9162cfd422925762c161bd80f80358b9Douglas Gregorvoid f0(void (*fp)(void)) { 1013b21be065e9feb0759303bd51b8e8653130f0fbChandler Carruth int x = fp - fp; // expected-warning{{arithmetic on pointers to the function type 'void (void)' is a GNU extension}} 110804888d9162cfd422925762c161bd80f80358b9Douglas Gregor} 12