blob: 255c97b280c92ef806cf72d6af2546fbaf0f2bff [file] [log] [blame]
Daniel Dunbara5728872009-12-15 20:14:24 +00001// RUN: %clang_cc1 %s -fsyntax-only -verify -fblocks
Steve Naroff9eae5762008-09-18 16:44:58 +00002
Daniel Dunbar23afaad2009-11-17 08:57:36 +00003int printf(const char *, ...);
Steve Naroff9eae5762008-09-18 16:44:58 +00004
5int main(int argc, char **argv) {
6 __block void(*bobTheFunction)(void);
7 __block void(^bobTheBlock)(void);
8
9 bobTheBlock = ^{;};
10
11 __block int JJJJ;
12 __attribute__((__blocks__(byref))) int III;
13
14 int (^XXX)(void) = ^{ return III+JJJJ; };
15
Fariborz Jahaniandbf217a2010-03-06 01:58:53 +000016 // rdar 7671883
17 __block char array[10] = {'a', 'b', 'c', 'd'};
18 char (^ch)() = ^{ array[1] = 'X'; return array[5]; };
19 ch();
20
Steve Naroff9eae5762008-09-18 16:44:58 +000021 return 0;
22}