xref: /aosp_15_r20/external/clang/test/SemaObjC/block-as-object.m (revision 67e74705e28f6214e480b399dd47ea732279e315)
1*67e74705SXin Li// RUN: %clang_cc1 %s -fsyntax-only -verify -fblocks
2*67e74705SXin Li// expected-no-diagnostics
3*67e74705SXin Li
4*67e74705SXin Li@interface Whatever
5*67e74705SXin Li- copy;
6*67e74705SXin Li@end
7*67e74705SXin Li
8*67e74705SXin Litypedef long (^MyBlock)(id obj1, id obj2);
9*67e74705SXin Li
10*67e74705SXin Livoid foo(MyBlock b) {
11*67e74705SXin Li    id bar = [b copy];
12*67e74705SXin Li}
13*67e74705SXin Li
14*67e74705SXin Livoid foo2(id b) {
15*67e74705SXin Li}
16*67e74705SXin Li
17*67e74705SXin Livoid foo3(void (^block)(void)) {
18*67e74705SXin Li    foo2(block);
19*67e74705SXin Li    id x;
20*67e74705SXin Li    foo(x);
21*67e74705SXin Li}
22