/* APPLE LOCAL file mainline */
/* Test warning for non existing selectors.  */
/* Contributed by Devang Patel <dpatel@apple.com>.  */

/* { dg-options "-Wselector -fnext-runtime" } */
/* { dg-do compile } */

typedef struct objc_object { struct objc_class *class_pointer; } *id;
typedef struct objc_selector *SEL;

@interface Foo
- (void) foo;
- (void) bar;
@end

@implementation Foo
- (void) bar
{
}

- (void) foo
{
  SEL a,b,c;
  a = @selector(b1ar); /* { dg-warning "creating selector for nonexistent method .b1ar." } */
  b = @selector(bar);
}
@end
