prog.m: In function ‘foo’:
prog.m:8:5: error: ‘__block’ undeclared (first use in this function)
__block int bi1 = 8;
^~~~~~~
prog.m:8:5: note: each undeclared identifier is reported only once for each function it appears in
prog.m:8:13: error: expected ‘;’ before ‘int’
__block int bi1 = 8;
^~~
prog.m:10:13: error: expected ‘;’ before ‘NSMutableString’
__block NSMutableString *bms1 = [@"__block mutable string 1" mutableCopy];
^~~~~~~~~~~~~~~
prog.m:12:5: error: unknown type name ‘MyBlock’
MyBlock block = ^(id arg1, id barg1, int iarg1, int biarg1) {
^~~~~~~
prog.m:12:21: error: expected expression before ‘^’ token
MyBlock block = ^(id arg1, id barg1, int iarg1, int biarg1) {
^
prog.m:26:25: error: ‘bi1’ undeclared (first use in this function)
NSLog(@"<%p>: %i", &bi1, bi1);
^~~
prog.m:28:35: error: ‘bms1’ undeclared (first use in this function)
NSLog(@"<%p - %p>: %@ [%i]", &bms1, bms1, bms1, [bms1 retainCount]);
^~~~
prog.m:31:5: error: called object ‘block’ is not a function or function pointer
block(ms1, bms1, i1, bi1);
^~~~~
prog.m:12:13: note: declared here
MyBlock block = ^(id arg1, id barg1, int iarg1, int biarg1) {
^~~~~
prog.m:33:5: warning: invalid receiver type ‘int’
NSLog(@"*** BLOCK <%p> [%i] ***", block, [block retainCount]);
^~~~~
prog.m:33:5: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
prog.m:35:5: error: unknown type name ‘MyBlock’
MyBlock copiedBlock = [[block copy] autorelease];
^~~~~~~
prog.m:35:5: warning: invalid receiver type ‘int’
prog.m:35:5: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
prog.m:35:27: warning: initialization makes integer from pointer without a cast [-Wint-conversion]
MyBlock copiedBlock = [[block copy] autorelease];
^
prog.m:37:5: warning: invalid receiver type ‘int’
NSLog(@"*** COPIED BLOCK <%p> [%i] ***", copiedBlock, [copiedBlock retainCount]);
^~~~~
prog.m:37:5: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
prog.m:40:5: error: called object ‘copiedBlock’ is not a function or function pointer
copiedBlock(ms1, bms1, i1, bi1);
^~~~~~~~~~~
prog.m:35:13: note: declared here
MyBlock copiedBlock = [[block copy] autorelease];
^~~~~~~~~~~
prog.m:53:5: error: called object ‘block’ is not a function or function pointer
block(ms1, bms1, i1, bi1);
^~~~~
prog.m:12:13: note: declared here
MyBlock block = ^(id arg1, id barg1, int iarg1, int biarg1) {
^~~~~
prog.m:56:5: error: called object ‘copiedBlock’ is not a function or function pointer
copiedBlock(ms1, bms1, i1, bi1);
^~~~~~~~~~~
prog.m:35:13: note: declared here
MyBlock copiedBlock = [[block copy] autorelease];
^~~~~~~~~~~
prog.m: At top level:
prog.m:60:1: warning: cannot find interface declaration for ‘TestObj’
int main()
^~~