blob: 1149d735d127bdb71cb354acbb2284747fe912cb [file] [log] [blame]
/* Test instance variable scope. */
/* Author: Dimitris Papavasiliou <dpapavas@gmail.com>. */
/* { dg-do compile } */
/* { dg-additional-options "-fno-local-ivars" } */
#include <objc/objc.h>
#if defined(__has_attribute) && __has_attribute(objc_root_class)
__attribute__((objc_root_class))
#endif
@interface MyClass
{
int someivar;
}
- (void) testscope;
- (void) testshadowing;
@end
@implementation MyClass
- (void) testscope
{
int a;
a = self->someivar; /* No warning or error. */
a = someivar; /* { dg-error ".someivar. undeclared" } */
}
- (void) testshadowing
{
int someivar = 1;
int a;
/* Since instance variables don't have local scope no shadowing
should occur. */
a = someivar; /* No warning. */
}
@end