blob: 6a12c7fdb7f12b999089819c0cec6a3cb51904b7 [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 "misplaced .@dynamic. Objective-C.. construct" } */
@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