diff options
Diffstat (limited to 'gcc/testsuite/obj-c++.dg/property/fsf-property-method-access.mm')
-rw-r--r-- | gcc/testsuite/obj-c++.dg/property/fsf-property-method-access.mm | 30 |
1 files changed, 9 insertions, 21 deletions
diff --git a/gcc/testsuite/obj-c++.dg/property/fsf-property-method-access.mm b/gcc/testsuite/obj-c++.dg/property/fsf-property-method-access.mm index 4052d1600d3..8053c84f9f7 100644 --- a/gcc/testsuite/obj-c++.dg/property/fsf-property-method-access.mm +++ b/gcc/testsuite/obj-c++.dg/property/fsf-property-method-access.mm @@ -1,25 +1,16 @@ /* test access in methods, auto-generated getter/setter based on property name. */ /* { dg-do run } */ -/* { dg-xfail-run-if "Needs OBJC2 ABI" { *-*-darwin* && { lp64 && { ! objc2 } } } { "-fnext-runtime" } { "" } } */ #ifdef __cplusplus extern "C" { #endif -extern int printf (const char *fmt,...) ; -extern void abort (void); - -typedef struct objc_class *Class; - -#ifdef __NEXT_RUNTIME__ - -extern id class_createInstance(Class, long); -#define class_create_instance(C) class_createInstance(C, 0) -#else +extern int printf (const char *fmt,...); +extern void abort (void); -extern id class_create_instance(Class); +#include <objc/objc.h> +#include <objc/runtime.h> -#endif #ifdef __cplusplus } #endif @@ -27,11 +18,8 @@ extern id class_create_instance(Class); @interface Bar { @public -#ifdef __NEXT_RUNTIME__ Class isa; -#else - Class class_pointer; -#endif + int FooBar; } + (id) initialize; + (id) alloc ; @@ -46,11 +34,11 @@ extern id class_create_instance(Class); @implementation Bar +initialize { return self;} -+ (id) alloc { return class_create_instance(self);} ++ (id) alloc { return class_createInstance(self, 0);} - (id) init {return self;} -@property int FooBar; +@synthesize FooBar; - (int) lookAtProperty { return FooBar; } - (void) setProperty: (int) v { FooBar = v; } @@ -65,8 +53,8 @@ int main(int argc, char *argv[]) { and operate correctly. */ [f setProperty:11]; - if (f->_FooBar != 11) - { printf ("setProperty did not set _FooBar\n"); abort ();} + if (f.FooBar != 11) + { printf ("setProperty did not set FooBar\n"); abort ();} res = [f lookAtProperty]; if (res != 11 ) |