xref: /llvm-project/clang/test/SemaObjC/class-impl-1.m (revision acfbe9e1f22886d82c503cd0c20dc0ef3bf9f12a)
1*acfbe9e1SPatrick Beard// RUN: %clang_cc1 -fsyntax-only -verify -Wno-objc-root-class %s
289026888SChris Lattner
30369c57aSChris Lattnertypedef int INTF3; // expected-note {{previous definition is here}}
489026888SChris Lattner
50369c57aSChris Lattner@interface SUPER @end // expected-note {{previous definition is here}}
689026888SChris Lattner
789026888SChris Lattner@interface OBJECT @end
889026888SChris Lattner
989026888SChris Lattner@interface INTF  : OBJECT
1089026888SChris Lattner@end
1189026888SChris Lattner
1243cee935SArgyrios Kyrtzidis@implementation INTF @end // expected-note {{previous definition is here}}
1389026888SChris Lattner
1489026888SChris Lattner@implementation INTF //  expected-error {{reimplementation of class 'INTF'}}
1589026888SChris Lattner@end
1689026888SChris Lattner
1789026888SChris Lattner
1889026888SChris Lattner@interface INTF1 : OBJECT
1989026888SChris Lattner@end
2089026888SChris Lattner
2189026888SChris Lattner@implementation INTF1 : SUPER // expected-error {{conflicting super class name 'SUPER'}}
2289026888SChris Lattner@end
2389026888SChris Lattner
2489026888SChris Lattner@interface INTF2
2589026888SChris Lattner@end
2689026888SChris Lattner
2789026888SChris Lattner@implementation INTF2 : SUPR //  expected-error {{cannot find interface declaration for 'SUPR', superclass of 'INTF2'}}
2889026888SChris Lattner@end
2989026888SChris Lattner
3089026888SChris Lattner@implementation INTF3 @end // expected-error {{redefinition of 'INTF3' as different kind of symbol}}
3189026888SChris Lattner
3289026888SChris Lattner@implementation INTF4 @end // expected-warning {{cannot find interface declaration for 'INTF4'}}
3389026888SChris Lattner
344123a86fSDouglas Gregor@class INTF5; // expected-note{{forward declaration of class here}}
356f0f25b0SFariborz Jahanian
366f0f25b0SFariborz Jahanian@implementation INTF5 {  // expected-warning {{cannot find interface declaration for 'INTF5'}}
376f0f25b0SFariborz Jahanian  int x;
386f0f25b0SFariborz Jahanian}
396f0f25b0SFariborz Jahanian@end
406f0f25b0SFariborz Jahanian
41