/* APPLE LOCAL file mainline */
/* { dg-do compile } */


/* APPLE LOCAL radar 4894756 */
#include "../objc/execute/Object2.h"

@protocol Foo
- (id)meth1;
- (id)meth2:(int)arg;
@end

@interface Derived1: Object
@end

@interface Derived2: Object
+ (Derived1 *)new;
@end

id<Foo> func(void) {
  Object *o = [Object new];
  return o;  /* { dg-warning "class .Object. does not implement the .Foo. protocol" } */
}

@implementation Derived2
+ (Derived1 *)new {
  Derived2 *o = [super new];
  return o;  /* { dg-warning "distinct Objective\\-C type in return" } */
}
@end

