61 lines
886 B
Mathematica
61 lines
886 B
Mathematica
|
/* 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;
|
||
|
}
|