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