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 -std=gnu++98 -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 | |
102 | |