21 lines
		
	
	
		
			798 B
		
	
	
	
		
			Objective-C
		
	
	
	
			
		
		
	
	
			21 lines
		
	
	
		
			798 B
		
	
	
	
		
			Objective-C
		
	
	
	
| // RUN: %clang_cc1 -fsyntax-only -verify -Wattributes -Wobjc-root-class %s
 | |
| @interface RootClass {} // expected-warning {{class 'RootClass' defined without specifying a base class}} \
 | |
|                         // expected-note {{add a super class to fix this problem}}
 | |
| @end
 | |
| @implementation RootClass
 | |
| @end
 | |
| 
 | |
| __attribute__((objc_root_class))
 | |
| @interface NonRootClass : RootClass   // expected-error {{objc_root_class attribute may only be specified on a root class declaration}}
 | |
| @end
 | |
| @implementation NonRootClass
 | |
| @end
 | |
| 
 | |
| __attribute__((objc_root_class)) static void nonClassDeclaration()  // expected-error {{'objc_root_class' attribute only applies to Objective-C interfaces}}
 | |
| {
 | |
| }
 | |
| 
 | |
| __attribute__((objc_root_class(1))) // expected-error {{'objc_root_class' attribute takes no arguments}}
 | |
| @interface I1
 | |
| @end
 |