150
|
1 // RUN: %clang_cc1 -fsyntax-only -verify -Wno-objc-root-class %s
|
|
2
|
|
3 typedef int INTF3; // expected-note {{previous definition is here}}
|
|
4
|
|
5 @interface SUPER @end // expected-note {{previous definition is here}}
|
|
6
|
|
7 @interface OBJECT @end
|
|
8
|
|
9 @interface INTF : OBJECT
|
|
10 @end
|
|
11
|
|
12 @implementation INTF @end // expected-note {{previous definition is here}}
|
|
13
|
|
14 @implementation INTF // expected-error {{reimplementation of class 'INTF'}}
|
|
15 @end
|
|
16
|
|
17
|
|
18 @interface INTF1 : OBJECT
|
|
19 @end
|
|
20
|
|
21 @implementation INTF1 : SUPER // expected-error {{conflicting super class name 'SUPER'}}
|
|
22 @end
|
|
23
|
|
24 @interface INTF2
|
|
25 @end
|
|
26
|
|
27 @implementation INTF2 : SUPR // expected-error {{cannot find interface declaration for 'SUPR', superclass of 'INTF2'}}
|
|
28 @end
|
|
29
|
|
30 @implementation INTF3 @end // expected-error {{redefinition of 'INTF3' as different kind of symbol}}
|
|
31
|
|
32 @implementation INTF4 @end // expected-warning {{cannot find interface declaration for 'INTF4'}}
|
|
33
|
|
34 @class INTF5; // expected-note{{forward declaration of class here}}
|
|
35
|
|
36 @implementation INTF5 { // expected-warning {{cannot find interface declaration for 'INTF5'}}
|
|
37 int x;
|
|
38 }
|
|
39 @end
|
|
40
|