You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
52 lines
1.5 KiB
52 lines
1.5 KiB
4 months ago
|
// RUN: %clang_cc1 -fsyntax-only -verify -Wno-objc-root-class %s
|
||
|
|
||
|
@interface X1
|
||
|
@end
|
||
|
@implementation X1 // expected-note {{implementation started here}}
|
||
|
@interface Y1 // expected-error {{missing '@end'}}
|
||
|
@end
|
||
|
@end // expected-error {{'@end' must appear in an Objective-C context}}
|
||
|
|
||
|
@interface X2
|
||
|
@end
|
||
|
@implementation X2 // expected-note {{implementation started here}}
|
||
|
@protocol Y2 // expected-error {{missing '@end'}}
|
||
|
@end
|
||
|
@end // expected-error {{'@end' must appear in an Objective-C context}}
|
||
|
|
||
|
@interface X6 // expected-note {{class started here}}
|
||
|
@interface X7 // expected-error {{missing '@end'}}
|
||
|
@end
|
||
|
@end // expected-error {{'@end' must appear in an Objective-C context}}
|
||
|
|
||
|
@protocol P1 // expected-note {{protocol started here}}
|
||
|
@interface P2 // expected-error {{missing '@end'}}
|
||
|
@end
|
||
|
@end // expected-error {{'@end' must appear in an Objective-C context}}
|
||
|
|
||
|
@interface X4 // expected-note {{class started here}}
|
||
|
@implementation X4 // expected-error {{missing '@end'}}
|
||
|
@end
|
||
|
@end // expected-error {{'@end' must appear in an Objective-C context}}
|
||
|
|
||
|
@interface I
|
||
|
@end
|
||
|
@implementation I
|
||
|
@protocol P; // forward declarations of protocols in @implementations is allowed
|
||
|
@class C; // forward declarations of classes in @implementations is allowed
|
||
|
- (C<P>*) MyMeth {}
|
||
|
@end
|
||
|
|
||
|
@interface I2 {}
|
||
|
@protocol P2; // expected-error {{illegal interface qualifier}}
|
||
|
@class C2; // expected-error {{illegal interface qualifier}}
|
||
|
@end
|
||
|
|
||
|
@interface I3
|
||
|
@end
|
||
|
@implementation I3
|
||
|
- Meth {}
|
||
|
+ Cls {}
|
||
|
@protocol P3;
|
||
|
@end
|