1*67e74705SXin Li// RUN: %clang_cc1 -x objective-c -Wno-return-type -fblocks -fms-extensions -rewrite-objc -fobjc-runtime=macosx-fragile-10.5 %s -o %t-rw.cpp 2*67e74705SXin Li// RUN: %clang_cc1 -fsyntax-only -fblocks -Wno-address-of-temporary -D"id=void*" -D"SEL=void*" -D"__declspec(X)=" %t-rw.cpp 3*67e74705SXin Li// rdar://8918702 4*67e74705SXin Li 5*67e74705SXin Litypedef void (^b_t)(void); 6*67e74705SXin Livoid a(b_t work) { } 7*67e74705SXin Listruct _s { 8*67e74705SXin Li int a; 9*67e74705SXin Li}; 10*67e74705SXin Listruct _s *r(); 11*67e74705SXin Li 12*67e74705SXin Livoid f() { 13*67e74705SXin Li __block struct _s *s = 0; 14*67e74705SXin Li a(^{ 15*67e74705SXin Li s = (struct _s *)r(); 16*67e74705SXin Li }); 17*67e74705SXin Li} 18