1*67e74705SXin Li// RUN: %clang_cc1 -fsyntax-only -verify -Wno-objc-root-class %s 2*67e74705SXin Li 3*67e74705SXin Linamespace C { 4*67e74705SXin Li 5*67e74705SXin Li@protocol P; //expected-error{{Objective-C declarations may only appear in global scope}} 6*67e74705SXin Li 7*67e74705SXin Li@class Bar; //expected-error{{Objective-C declarations may only appear in global scope}} 8*67e74705SXin Li 9*67e74705SXin Li@compatibility_alias Foo Bar; //expected-error{{Objective-C declarations may only appear in global scope}} 10*67e74705SXin Li 11*67e74705SXin Li@interface A //expected-error{{Objective-C declarations may only appear in global scope}} 12*67e74705SXin Li@end 13*67e74705SXin Li 14*67e74705SXin Li@implementation A //expected-error{{Objective-C declarations may only appear in global scope}} 15*67e74705SXin Li@end 16*67e74705SXin Li 17*67e74705SXin Li@protocol P //expected-error{{Objective-C declarations may only appear in global scope}} 18*67e74705SXin Li@end 19*67e74705SXin Li 20*67e74705SXin Li@interface A(C) //expected-error{{Objective-C declarations may only appear in global scope}} 21*67e74705SXin Li@end 22*67e74705SXin Li 23*67e74705SXin Li@implementation A(C) //expected-error{{Objective-C declarations may only appear in global scope}} 24*67e74705SXin Li@end 25*67e74705SXin Li 26*67e74705SXin Li@interface B @end //expected-error{{Objective-C declarations may only appear in global scope}} 27*67e74705SXin Li@implementation B //expected-error{{Objective-C declarations may only appear in global scope}} 28*67e74705SXin Li+ (void) foo {} 29*67e74705SXin Li@end 30*67e74705SXin Li 31*67e74705SXin Li} 32*67e74705SXin Li 33