forked from OSchip/llvm-project
33 lines
1.8 KiB
Objective-C
33 lines
1.8 KiB
Objective-C
// RUN: clang -fblocks -fno-__block -fnext-runtime --emit-llvm -o %t %s -verify
|
|
|
|
@class Foo;
|
|
@protocol P;
|
|
|
|
void t1()
|
|
{
|
|
__block int a;
|
|
^{ a = 10; }(); // expected-error {{cannot compile this __block variable in block literal yet}} expected-error {{cannot compile this block literal that requires copy/dispose yet}}
|
|
|
|
void (^block)(void);
|
|
^{ (void)block; }(); // expected-error {{cannot compile this block pointer in block literal yet}} expected-error {{cannot compile this block literal that requires copy/dispose yet}}
|
|
|
|
struct Foo *__attribute__ ((NSObject)) foo;
|
|
^{ (void)foo; }(); // expected-error {{cannot compile this __attribute__((NSObject)) variable in block literal yet}} expected-error {{cannot compile this block literal that requires copy/dispose yet}}
|
|
|
|
typedef struct CGColor * __attribute__ ((NSObject)) CGColorRef;
|
|
CGColorRef color;
|
|
^{ (void)color; }(); // expected-error {{cannot compile this __attribute__((NSObject)) variable in block literal yet}} expected-error {{cannot compile this block literal that requires copy/dispose yet}}
|
|
|
|
id a1;
|
|
^{ (void)a1; }(); // expected-error {{cannot compile this Objective-C variable in block literal yet}} expected-error {{cannot compile this block literal that requires copy/dispose yet}}
|
|
|
|
Foo *a2;
|
|
^{ (void)a2; }(); // expected-error {{cannot compile this Objective-C variable in block literal yet}} expected-error {{cannot compile this block literal that requires copy/dispose yet}}
|
|
|
|
id<P> a3;
|
|
^{ (void)a3; }(); // expected-error {{cannot compile this Objective-C variable in block literal yet}} expected-error {{cannot compile this block literal that requires copy/dispose yet}}
|
|
|
|
Foo<P> *a4;
|
|
^{ (void)a4; }(); // expected-error {{cannot compile this Objective-C variable in block literal yet}} expected-error {{cannot compile this block literal that requires copy/dispose yet}}
|
|
}
|