annotate clang/test/SemaObjC/attr-swift_objc_members.m @ 207:2e18cbf3894f

LLVM12
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Tue, 08 Jun 2021 06:07:14 +0900
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
207
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
1 // RUN: %clang_cc1 -verify -fsyntax-only %s
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
2
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
3 #if !__has_attribute(swift_objc_members)
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
4 #error cannot verify presence of swift_objc_members attribute
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
5 #endif
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
6
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
7 __attribute__((__swift_objc_members__))
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
8 __attribute__((__objc_root_class__))
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
9 @interface I
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
10 @end
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
11
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
12 __attribute__((swift_objc_members))
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
13 @protocol P
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
14 @end
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
15 // expected-error@-3 {{'swift_objc_members' attribute only applies to Objective-C interfaces}}
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
16
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
17 __attribute__((swift_objc_members))
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
18 extern void f(void);
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
19 // expected-error@-2 {{'swift_objc_members' attribute only applies to Objective-C interfaces}}
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
20
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
21 // expected-error@+1 {{'__swift_objc_members__' attribute takes no arguments}}
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
22 __attribute__((__swift_objc_members__("J")))
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
23 @interface J
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents:
diff changeset
24 @end