xref: /aosp_15_r20/external/clang/test/Rewriter/blockstruct.m (revision 67e74705e28f6214e480b399dd47ea732279e315)
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