forked from OSchip/llvm-project
				
			
		
			
				
	
	
		
			33 lines
		
	
	
		
			745 B
		
	
	
	
		
			Objective-C
		
	
	
	
			
		
		
	
	
			33 lines
		
	
	
		
			745 B
		
	
	
	
		
			Objective-C
		
	
	
	
// RUN: %clang_cc1 -fsyntax-only -verify %s
 | 
						|
 | 
						|
@interface Root @end
 | 
						|
 | 
						|
@interface SuperClass  : Root 
 | 
						|
{
 | 
						|
  int iSuper;	// expected-note {{previous declaration is here}}
 | 
						|
}
 | 
						|
@end
 | 
						|
 | 
						|
@interface SubClass : SuperClass {
 | 
						|
    int ivar;	// expected-error {{duplicate member 'ivar'}}
 | 
						|
    int another_ivar;	// expected-error {{duplicate member 'another_ivar'}}
 | 
						|
    int iSuper;	// expected-error {{duplicate member 'iSuper'}}
 | 
						|
}
 | 
						|
@end
 | 
						|
 | 
						|
@interface SuperClass () {
 | 
						|
   int ivar;	// expected-note {{previous declaration is here}}
 | 
						|
}
 | 
						|
@end
 | 
						|
 | 
						|
@interface Root () {
 | 
						|
  int another_ivar;	// expected-note {{previous declaration is here}}
 | 
						|
}
 | 
						|
@end
 | 
						|
 | 
						|
@implementation SubClass
 | 
						|
-(int) method {
 | 
						|
        return self->ivar;  // would be ambiguous if the duplicate ivar were allowed
 | 
						|
}
 | 
						|
@end
 |