xref: /llvm-project/clang/test/SemaObjCXX/objc-decls-inside-namespace.mm (revision acfbe9e1f22886d82c503cd0c20dc0ef3bf9f12a)
1*acfbe9e1SPatrick Beard// RUN: %clang_cc1 -fsyntax-only -verify -Wno-objc-root-class %s
2a6b508a2SAnders Carlsson
3a6b508a2SAnders Carlssonnamespace C {
4a6b508a2SAnders Carlsson
5a6b508a2SAnders Carlsson@protocol P; //expected-error{{Objective-C declarations may only appear in global scope}}
6a6b508a2SAnders Carlsson
7a6b508a2SAnders Carlsson@class Bar; //expected-error{{Objective-C declarations may only appear in global scope}}
8a6b508a2SAnders Carlsson
9a6b508a2SAnders Carlsson@compatibility_alias Foo Bar; //expected-error{{Objective-C declarations may only appear in global scope}}
10a6b508a2SAnders Carlsson
11a6b508a2SAnders Carlsson@interface A //expected-error{{Objective-C declarations may only appear in global scope}}
12a6b508a2SAnders Carlsson@end
13a6b508a2SAnders Carlsson
14a6b508a2SAnders Carlsson@implementation A //expected-error{{Objective-C declarations may only appear in global scope}}
15a6b508a2SAnders Carlsson@end
16a6b508a2SAnders Carlsson
17a6b508a2SAnders Carlsson@protocol P //expected-error{{Objective-C declarations may only appear in global scope}}
18a6b508a2SAnders Carlsson@end
19a6b508a2SAnders Carlsson
20a6b508a2SAnders Carlsson@interface A(C) //expected-error{{Objective-C declarations may only appear in global scope}}
21a6b508a2SAnders Carlsson@end
22a6b508a2SAnders Carlsson
23a6b508a2SAnders Carlsson@implementation A(C) //expected-error{{Objective-C declarations may only appear in global scope}}
24a6b508a2SAnders Carlsson@end
25a6b508a2SAnders Carlsson
26dc9796e2SJohn McCall@interface B @end //expected-error{{Objective-C declarations may only appear in global scope}}
27dc9796e2SJohn McCall@implementation B //expected-error{{Objective-C declarations may only appear in global scope}}
28dc9796e2SJohn McCall+ (void) foo {}
29dc9796e2SJohn McCall@end
30dc9796e2SJohn McCall
31a6b508a2SAnders Carlsson}
32a6b508a2SAnders Carlsson
33