xref: /aosp_15_r20/external/clang/test/Parser/objc-quirks.m (revision 67e74705e28f6214e480b399dd47ea732279e315)
1*67e74705SXin Li// RUN: %clang_cc1 -fsyntax-only -verify -pedantic %s
2*67e74705SXin Li
3*67e74705SXin Li// FIXME: This is a horrible error message here. Fix.
4*67e74705SXin Liint @"s" = 5;  // expected-error {{prefix attribute must be}}
5*67e74705SXin Li
6*67e74705SXin Li
7*67e74705SXin Li// rdar://6480479
8*67e74705SXin Li@interface A // expected-note {{class started here}}
9*67e74705SXin Li}; // expected-error {{missing '@end'}} \
10*67e74705SXin Li// expected-error {{extraneous closing brace ('}')}} \
11*67e74705SXin Li// expected-warning{{extra ';' outside of a function}}
12*67e74705SXin Li
13*67e74705SXin Li
14*67e74705SXin Li
15*67e74705SXin Li
16*67e74705SXin Li// PR6811
17*67e74705SXin Li// 'super' isn't an expression, it is a magic context-sensitive keyword.
18*67e74705SXin Li@interface A2 {
19*67e74705SXin Li  id isa;
20*67e74705SXin Li}
21*67e74705SXin Li- (void)a;
22*67e74705SXin Li@end
23*67e74705SXin Li
24*67e74705SXin Li@interface B2 : A2 @end
25*67e74705SXin Li@implementation B2
26*67e74705SXin Li- (void)a
27*67e74705SXin Li{
28*67e74705SXin Li  [(super) a];  // expected-error {{use of undeclared identifier 'super'}}
29*67e74705SXin Li}
30*67e74705SXin Li@end
31*67e74705SXin Li
32*67e74705SXin Li@compatibility_alias A3 A2;
33