ivar-lookup-resolution-builtin.m   [plain text]


// RUN: %clang_cc1  -fsyntax-only -verify -Wno-objc-root-class %s
// pr5986

@interface Test {
  int index;
}
- (int) index;
+ (int) ClassMethod;
@end

@implementation Test
- (int) index
{
  return index;
}
+ (int) ClassMethod
{
  return index;	// expected-error {{instance variable 'index' accessed in class method}}
}
@end

@interface Test1 {
}
- (int) InstMethod;
+ (int) ClassMethod;
@end

@implementation Test1
- (int) InstMethod
{
  return index;	// expected-warning {{implicitly declaring library function 'index'}}	\
                // expected-note {{please include the header <strings.h> or explicitly provide a declaration for 'index'}} \
                // expected-warning {{incompatible pointer to integer conversion returning}}
}
+ (int) ClassMethod
{
  return index; // expected-warning {{incompatible pointer to integer conversion returning}}
}
@end