]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - test/Rewriter/rewrite-modern-ivars-2.mm
Vendor import of clang release_38 branch r258549:
[FreeBSD/FreeBSD.git] / test / Rewriter / rewrite-modern-ivars-2.mm
1 // RUN: %clang_cc1 -triple i386-apple-darwin9 -x objective-c++ -Wno-return-type -fblocks -fms-extensions -rewrite-objc %s -o %t-rw.cpp
2 // RUN: %clang_cc1 -triple i386-apple-darwin9 -fsyntax-only -fblocks -Wno-address-of-temporary -D"Class=void*" -D"id=void*" -D"SEL=void*" -D"__declspec(X)=" %t-rw.cpp
3
4 @interface B @end
5
6 @interface A {
7   struct s0 {
8     int f0;
9     int f1;
10   } f0;
11   id f1;
12 __weak B *f2;
13   int f3 : 5;
14   struct s1 {
15     int *f0;
16     int *f1;
17   } f4[2][1];
18 }
19 @end
20
21 @interface C : A
22 @property int p3;
23 @end
24
25 @implementation C
26 @synthesize p3 = _p3;
27 @end
28
29 @interface A()
30 @property int p0;
31 @property (assign) __strong id p1;
32 @property (assign) __weak id p2;
33 @end
34
35 // FIXME: Check layout for this class, once it is clear what the right
36 // answer is.
37 @implementation A
38 @synthesize p0 = _p0;
39 @synthesize p1 = _p1;
40 @synthesize p2 = _p2;
41 @end
42
43 @interface D : A
44 @property int p3;
45 @end
46
47 // FIXME: Check layout for this class, once it is clear what the right
48 // answer is.
49 @implementation D
50 @synthesize p3 = _p3;
51 @end
52
53 typedef unsigned short UInt16;
54
55
56 typedef signed char BOOL;
57 typedef unsigned int FSCatalogInfoBitmap;
58
59 @interface NSFileLocationComponent {
60     @private
61
62     id _specifierOrStandardizedPath;
63     BOOL _carbonCatalogInfoAndNameAreValid;
64     FSCatalogInfoBitmap _carbonCatalogInfoMask;
65     id _name;
66     id _containerComponent;
67     id _presentableName;
68     id _iconAsAttributedString;
69 }
70 @end
71
72 @implementation NSFileLocationComponent @end
73
74 // rdar://11229770
75
76 @interface Foo {
77   int bar:26;
78 }
79 @end
80
81 @implementation Foo
82 @end
83
84 @interface Foo1 {
85   int bar:26;
86   int bar2:4;
87 }
88 @end
89
90 @implementation Foo1
91 @end
92
93 @interface Foo3 {
94   int foo;
95   int bar:26;
96 }
97 @end
98
99 @implementation Foo3
100 @end
101