1 | // 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 | // RUN: %clang_cc1 -fsyntax-only -Wno-address-of-temporary -D"SEL=void*" -U__declspec -D"__declspec(X)=" %t-rw.cpp |
3 | // RUN: %clang_cc1 -x objective-c++ -Wno-return-type -fblocks -fms-extensions -rewrite-objc %s -o %t-rw-modern.cpp |
4 | // RUN: %clang_cc1 -fsyntax-only -Werror -Wno-address-of-temporary -D"SEL=void*" -U__declspec -D"__declspec(X)=" %t-rw-modern.cpp |
5 | // radar 7669784 |
6 | |
7 | typedef unsigned long size_t; |
8 | typedef void * id; |
9 | void *sel_registerName(const char *); |
10 | |
11 | @interface NSMutableString |
12 | - (NSMutableString *)string; |
13 | @end |
14 | |
15 | @interface Z |
16 | @end |
17 | |
18 | @implementation Z |
19 | |
20 | - (void)x { |
21 | id numbers; |
22 | int i, numbersCount = 42; |
23 | __attribute__((__blocks__(byref))) int blockSum = 0; |
24 | void (^add)(id n, int idx, char *stop) = ^(id n, int idx, char *stop) { }; |
25 | [numbers enumerateObjectsUsingBlock:add]; |
26 | NSMutableString *forwardAppend = [NSMutableString string]; |
27 | __attribute__((__blocks__(byref))) NSMutableString *blockAppend = [NSMutableString string]; |
28 | } |
29 | |
30 | @end |
31 | |
32 | |