34 lines
1.4 KiB
Objective-C
34 lines
1.4 KiB
Objective-C
/* Test out static (non-heap) allocations of ObjC class instances.
|
|
These should elicit errors. */
|
|
/* Developed by Ziemowit Laski <zlaski@apple.com>. */
|
|
/* { dg-do compile } */
|
|
|
|
@interface Object {
|
|
struct objc_class *isa;
|
|
}
|
|
@end
|
|
|
|
@compatibility_alias MyObject Object;
|
|
|
|
@interface Foo: Object {
|
|
int a;
|
|
Object *b;
|
|
Object c; /* { dg-error "statically allocated instance of Objective-C class .Object." } */
|
|
}
|
|
@end
|
|
|
|
@compatibility_alias MyFoo Foo;
|
|
|
|
typedef Foo FooAlias1;
|
|
typedef FooAlias1 FooAlias2;
|
|
typedef Object ObjectAlias1;
|
|
typedef struct Object ObjectAlias2;
|
|
Object staticObject1; /* { dg-error "statically allocated instance of Objective-C class .Object." } */
|
|
struct Object staticObject2; /* { dg-error "statically allocated instance of Objective-C class .Object." } */
|
|
static ObjectAlias1 staticObject3; /* { dg-error "statically allocated instance of Objective-C class .Object." } */
|
|
FooAlias1 staticFoo1; /* { dg-error "statically allocated instance of Objective-C class .Foo." } */
|
|
extern FooAlias2 externFoo1; /* { dg-error "statically allocated instance of Objective-C class .Foo." } */
|
|
static Foo staticFoo2; /* { dg-error "statically allocated instance of Objective-C class .Foo." } */
|
|
MyObject staticMyObject1; /* { dg-error "statically allocated instance of Objective-C class .Object." } */
|
|
MyFoo staticMyFoo1; /* { dg-error "statically allocated instance of Objective-C class .Foo." } */
|