1*67e74705SXin Li// RUN: %clang_cc1 -E %s -o %t.m 2*67e74705SXin Li// RUN: %clang_cc1 -fobjc-runtime=macosx-fragile-10.5 -rewrite-objc %t.m -o - | FileCheck %s 3*67e74705SXin Li 4*67e74705SXin Li@interface I { 5*67e74705SXin Li id _delegate; 6*67e74705SXin Li} 7*67e74705SXin Li-(void)foo; 8*67e74705SXin Li@end 9*67e74705SXin Li 10*67e74705SXin Li@implementation I 11*67e74705SXin Li 12*67e74705SXin Listatic void KKKK(int w); 13*67e74705SXin Li 14*67e74705SXin Li-(void) foo { 15*67e74705SXin Li KKKK(0); 16*67e74705SXin Li} 17*67e74705SXin Li 18*67e74705SXin Listatic void KKKK(int w) { 19*67e74705SXin Li I *self = (I *)0; 20*67e74705SXin Li if ([self->_delegate respondsToSelector:@selector(handlePortMessage:)]) { 21*67e74705SXin Li } 22*67e74705SXin Li} 23*67e74705SXin Li 24*67e74705SXin Li-(void) foo2 { 25*67e74705SXin Li KKKK(0); 26*67e74705SXin Li} 27*67e74705SXin Li 28*67e74705SXin Li@end 29*67e74705SXin Li 30*67e74705SXin Li// CHECK: if (((id (*)(id, SEL, ...))(void *)objc_msgSend)((id)((struct I_IMPL *)self)->_delegate, sel_registerName("respondsToSelector:"), sel_registerName("handlePortMessage:"))) 31