/* APPLE LOCAL file radar 5435299 */
/* Multiple @synthesize of a single property is error. */
/* { dg-options "-fnew-property-ivar-synthesis -mmacosx-version-min=10.5" { target powerpc*-*-darwin* i?86*-*-darwin* } } */
/* { dg-options "-fnew-property-ivar-synthesis -fobjc-new-property" { target arm*-*-darwin* } } */
/* { dg-do compile { target *-*-darwin* } } */

#import <objc/Object.h>

@interface Test3 : Object
{
   int prop;
}
@property int prop;
@end
@implementation Test3
@synthesize prop;
@synthesize prop;  /* { dg-error "synthesized properties \\'prop\\' and \\'prop\\' both claim ivar \\'prop\\'" } */
		   /* { dg-error "property \\'prop\\' is already implemented" "" { target *-*-* } 17 } */
@end
