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