1 | // RUN: %clang_cc1 -verify -Wno-objc-root-class -fsyntax-only %s |
2 | |
3 | __attribute__((objc_nonlazy_class)) |
4 | @interface A |
5 | @end |
6 | @implementation A |
7 | @end |
8 | |
9 | __attribute__((objc_nonlazy_class)) int X; // expected-error {{'objc_nonlazy_class' attribute only applies to Objective-C interfaces}} |
10 | |
11 | __attribute__((objc_nonlazy_class())) |
12 | @interface B |
13 | @end |
14 | @implementation B |
15 | @end |
16 | |
17 | __attribute__((objc_nonlazy_class("foo"))) // expected-error{{'objc_nonlazy_class' attribute takes no arguments}} |
18 | @interface C |
19 | @end |
20 | @implementation C |
21 | @end |
22 | |
23 | __attribute__((objc_nonlazy_class)) // expected-error {{'objc_nonlazy_class' attribute only applies to Objective-C interfaces}} |
24 | @protocol B |
25 | @end |
26 | |
27 | __attribute__((objc_nonlazy_class)) // expected-error {{'objc_nonlazy_class' attribute only applies to Objective-C interfaces}} |
28 | void foo(); |
29 | |
30 | @interface E |
31 | @end |
32 | __attribute__((objc_nonlazy_class)) |
33 | @implementation E // expected-error {{prefix attribute must be followed by an interface or protocol}} |
34 | @end |
35 | |