1// RUN: %clang_cc1 -fsyntax-only -verify %s 2// expected-no-diagnostics 3 4@protocol P0 5-bar; 6@end 7 8@interface A <P0> 9@end 10 11// Interface conforms to inherited protocol 12 13@interface B0 : A <P0> 14@end 15 16@implementation B0 17@end 18 19// Interface conforms to a protocol which extends another. The other 20// protocol is inherited, and extended methods are implemented. 21 22@protocol P1 <P0> 23-foo; 24@end 25 26@interface B1 : A <P1> 27@end 28 29@implementation B1 30-foo { return 0; }; 31@end 32 33// Interface conforms to a protocol whose methods are provided by an 34// alternate inherited protocol. 35 36@protocol P2 37-bar; 38@end 39 40@interface B2 : A <P2> 41@end 42 43@implementation B2 44@end 45 46// Interface conforms to a protocol whose methods are provided by a base class. 47 48@interface A1 49-bar; 50@end 51 52@interface B3 : A1 <P2> 53@end 54 55@implementation B3 56@end 57 58