xref: /aosp_15_r20/external/clang/test/CodeGen/block-3.c (revision 67e74705e28f6214e480b399dd47ea732279e315)
1*67e74705SXin Li // RUN: %clang_cc1 %s -emit-llvm -o - -fblocks -triple x86_64-apple-darwin10
2*67e74705SXin Li // rdar://10001085
3*67e74705SXin Li 
main()4*67e74705SXin Li int main() {
5*67e74705SXin Li   ^{
6*67e74705SXin Li                 __attribute__((__blocks__(byref))) int index = ({ int __a; int __b; __a < __b ? __b : __a; });
7*67e74705SXin Li    };
8*67e74705SXin Li }
9*67e74705SXin Li 
10*67e74705SXin Li // PR13229
11*67e74705SXin Li // rdar://11777609
12*67e74705SXin Li typedef struct {} Z;
13*67e74705SXin Li 
14*67e74705SXin Li typedef int (^B)(Z);
15*67e74705SXin Li 
testPR13229()16*67e74705SXin Li void testPR13229() {
17*67e74705SXin Li   Z z1;
18*67e74705SXin Li   B b1 = ^(Z z1) { return 1; };
19*67e74705SXin Li   b1(z1);
20*67e74705SXin Li }
21