2019-02-05 07:32:55 +08:00
|
|
|
// 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
|
2019-04-12 01:55:34 +08:00
|
|
|
|
2019-02-05 07:32:55 +08:00
|
|
|
__attribute__((objc_nonlazy_class))
|
2019-04-12 01:55:30 +08:00
|
|
|
@implementation E
|
2019-02-05 07:32:55 +08:00
|
|
|
@end
|
2019-04-12 01:55:34 +08:00
|
|
|
|
|
|
|
__attribute__((objc_nonlazy_class))
|
|
|
|
@implementation E (MyCat)
|
|
|
|
@end
|