Mercurial > hg > CbC > CbC_llvm
comparison clang/test/SemaObjC/continuation-class-err.m @ 150:1d019706d866
LLVM10
author | anatofuz |
---|---|
date | Thu, 13 Feb 2020 15:10:13 +0900 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
147:c2174574ed3a | 150:1d019706d866 |
---|---|
1 // RUN: %clang_cc1 -fsyntax-only -verify -Wno-objc-root-class %s | |
2 | |
3 @interface ReadOnly | |
4 { | |
5 id _object; | |
6 id _object1; | |
7 } | |
8 @property(readonly) id object; | |
9 @property(readwrite, assign) id object1; // expected-note {{property declared here}} | |
10 @property (readonly) int indentLevel; | |
11 @end | |
12 | |
13 @interface ReadOnly () | |
14 @property(readwrite, copy) id object; // Ok. declaring memory model in class extension - primary has none. | |
15 @property(readonly) id object1; // expected-error {{illegal redeclaration of property in class extension 'ReadOnly' (attribute must be 'readwrite', while its primary must be 'readonly')}} | |
16 @property (readwrite, assign) int indentLevel; // OK. assign the default in any case. | |
17 @end | |
18 | |
19 @protocol Proto | |
20 @property (copy) id fee; // expected-note {{property declared here}} | |
21 @end | |
22 | |
23 @protocol Foo<Proto> | |
24 @property (copy) id foo; // expected-note {{property declared here}} | |
25 @end | |
26 | |
27 @interface Bar <Foo> { | |
28 id _foo; | |
29 id _fee; | |
30 } | |
31 @end | |
32 | |
33 @interface Bar () | |
34 @property (copy) id foo; // expected-error {{illegal redeclaration of property in class extension 'Bar' (attribute must be 'readwrite', while its primary must be 'readonly')}} | |
35 @property (copy) id fee; // expected-error {{illegal redeclaration of property in class extension 'Bar' (attribute must be 'readwrite', while its primary must be 'readonly')}} | |
36 @end | |
37 | |
38 @implementation Bar | |
39 @synthesize foo = _foo; | |
40 @synthesize fee = _fee; | |
41 @end | |
42 | |
43 // rdar://10752081 | |
44 @interface MyOtherClass() // expected-error {{cannot find interface declaration for 'MyOtherClass'}} | |
45 { | |
46 id array; | |
47 } | |
48 @end | |
49 | |
50 @implementation MyOtherClass // expected-warning {{cannot find interface declaration for 'MyOtherClass'}} | |
51 @end |