1b9dbab1e78917c80704428f948f7b2ef8110f8e1Fariborz Jahanian// RUN: %clang_cc1 %s -emit-llvm -o - -fblocks -triple x86_64-apple-darwin10
2b9dbab1e78917c80704428f948f7b2ef8110f8e1Fariborz Jahanian// rdar://10001085
3b9dbab1e78917c80704428f948f7b2ef8110f8e1Fariborz Jahanian
4b9dbab1e78917c80704428f948f7b2ef8110f8e1Fariborz Jahanianint main() {
5b9dbab1e78917c80704428f948f7b2ef8110f8e1Fariborz Jahanian  ^{
6b9dbab1e78917c80704428f948f7b2ef8110f8e1Fariborz Jahanian                __attribute__((__blocks__(byref))) int index = ({ int __a; int __b; __a < __b ? __b : __a; });
7b9dbab1e78917c80704428f948f7b2ef8110f8e1Fariborz Jahanian   };
8b9dbab1e78917c80704428f948f7b2ef8110f8e1Fariborz Jahanian}
9075a54354dc6e3644b12206e5127855091783fd6Fariborz Jahanian
10075a54354dc6e3644b12206e5127855091783fd6Fariborz Jahanian// PR13229
11075a54354dc6e3644b12206e5127855091783fd6Fariborz Jahanian// rdar://11777609
12075a54354dc6e3644b12206e5127855091783fd6Fariborz Jahaniantypedef struct {} Z;
13075a54354dc6e3644b12206e5127855091783fd6Fariborz Jahanian
14075a54354dc6e3644b12206e5127855091783fd6Fariborz Jahaniantypedef int (^B)(Z);
15075a54354dc6e3644b12206e5127855091783fd6Fariborz Jahanian
16075a54354dc6e3644b12206e5127855091783fd6Fariborz Jahanianvoid testPR13229() {
17075a54354dc6e3644b12206e5127855091783fd6Fariborz Jahanian  Z z1;
18075a54354dc6e3644b12206e5127855091783fd6Fariborz Jahanian  B b1 = ^(Z z1) { return 1; };
19075a54354dc6e3644b12206e5127855091783fd6Fariborz Jahanian  b1(z1);
20075a54354dc6e3644b12206e5127855091783fd6Fariborz Jahanian}
21