61 lines
886 B
Objective-C
61 lines
886 B
Objective-C
/* Test instance variable scope. */
|
|
/* Author: Dimitris Papavasiliou <dpapavas@gmail.com>. */
|
|
/* { dg-do run } */
|
|
/* { dg-additional-options "-Wno-shadow-ivar" } */
|
|
#include "../objc-obj-c++-shared/TestsuiteObject.m"
|
|
#include <objc/objc.h>
|
|
|
|
extern void abort(void);
|
|
|
|
int someivar = 1;
|
|
|
|
@interface MyClass: TestsuiteObject
|
|
{
|
|
int someivar;
|
|
}
|
|
- (int) get;
|
|
- (int) getHidden;
|
|
@end
|
|
|
|
@implementation MyClass
|
|
- init
|
|
{
|
|
someivar = 2;
|
|
|
|
return self;
|
|
}
|
|
|
|
- (int) get
|
|
{
|
|
return someivar;
|
|
}
|
|
|
|
- (int) getHidden
|
|
{
|
|
int someivar = 3;
|
|
|
|
return someivar;
|
|
}
|
|
@end
|
|
|
|
int main(void)
|
|
{
|
|
MyClass *object;
|
|
|
|
object = [[MyClass alloc] init];
|
|
|
|
/* Check whether the instance variable hides the global variable. */
|
|
|
|
if ([object get] != 2) {
|
|
abort();
|
|
}
|
|
|
|
/* Check whether the local variable hides the instance variable. */
|
|
|
|
if ([object getHidden] != 3) {
|
|
abort();
|
|
}
|
|
|
|
return 0;
|
|
}
|