blob: 9866a3942ef18765e46bfe1cedfcf4fcc183ad80 [file] [log] [blame]
/* Contributed by Nicola Pero <nicola.pero@meta-innovation.com>, October 2010. */
/* { dg-do compile } */
#include <objc/objc.h>
@interface MyRootClass
{
Class isa;
}
@end
@implementation MyRootClass
@end
@dynamic isa; /* { dg-error ".@dynamic. not in @implementation context" } */
@interface Test : MyRootClass
{
int v1;
}
@end
@implementation Test
@end
@interface Test (Category)
@property int v1;
@end
@implementation Test (Category)
@dynamic v1;
@end
@interface AnotherTest : MyRootClass
{
}
@property int one;
@end
@implementation AnotherTest
@dynamic one; /* { dg-line dynamic_one_first } */
@dynamic one; /* { dg-error "property .one. already specified in .@dynamic." } */
/* { dg-message "originally specified here" "" { target *-*-* } dynamic_one_first } */
@dynamic three; /* { dg-error "no declaration of property .three. found in the interface" } */
@end