// RUN: clang-cc -fsyntax-only -verify %s

@protocol P0
-bar;
@end

@interface A <P0>
@end

// Interface conforms to inherited protocol

@interface B0 : A <P0>
@end

@implementation B0
@end

// Interface conforms to a protocol which extends another. The other
// protocol is inherited, and extended methods are implemented.

@protocol P1 <P0>
-foo;
@end

@interface B1 : A <P1>
@end

@implementation B1
-foo { return 0; };
@end

// Interface conforms to a protocol whose methods are provided by an
// alternate inherited protocol.

@protocol P2
-bar;
@end

@interface B2 : A <P2>
@end

@implementation B2
@end

// Interface conforms to a protocol whose methods are provided by a base class.

@interface A1 
-bar;
@end

@interface B3 : A1 <P2>
@end

@implementation B3
@end

