diff options
Diffstat (limited to 'test/SemaObjC/attr-objc-non-lazy.m')
-rw-r--r-- | test/SemaObjC/attr-objc-non-lazy.m | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/test/SemaObjC/attr-objc-non-lazy.m b/test/SemaObjC/attr-objc-non-lazy.m new file mode 100644 index 0000000000..bbbbd74145 --- /dev/null +++ b/test/SemaObjC/attr-objc-non-lazy.m @@ -0,0 +1,39 @@ +// RUN: %clang_cc1 -verify -Wno-objc-root-class -fsyntax-only %s + +__attribute__((objc_nonlazy_class)) +@interface A +@end +@implementation A +@end + +__attribute__((objc_nonlazy_class)) int X; // expected-error {{'objc_nonlazy_class' attribute only applies to Objective-C interfaces}} + +__attribute__((objc_nonlazy_class())) +@interface B +@end +@implementation B +@end + +__attribute__((objc_nonlazy_class("foo"))) // expected-error{{'objc_nonlazy_class' attribute takes no arguments}} +@interface C +@end +@implementation C +@end + +__attribute__((objc_nonlazy_class)) // expected-error {{'objc_nonlazy_class' attribute only applies to Objective-C interfaces}} +@protocol B +@end + +__attribute__((objc_nonlazy_class)) // expected-error {{'objc_nonlazy_class' attribute only applies to Objective-C interfaces}} +void foo(); + +@interface E +@end + +__attribute__((objc_nonlazy_class)) +@implementation E +@end + +__attribute__((objc_nonlazy_class)) +@implementation E (MyCat) +@end |