// RUN: %clang_cc1 -fobjc-nonfragile-abi -emit-llvm -o %t %s

@interface I
@property int IP;
@end

@implementation I
@synthesize IP;
- (int) Meth {
   return IP;
}
@end

// Test for synthesis of ivar for a property
// declared in continuation class.
@interface OrganizerViolatorView
@end

@interface OrganizerViolatorView()
@property (retain) id bindingInfo;
@end

@implementation OrganizerViolatorView
@synthesize bindingInfo;
@end

// <rdar://problem/7336352> [irgen] crash in synthesized property construction

@interface I0 @end
@protocol P0 @end
@interface I1 {
  I0<P0> *iv0;
}
@property (assign, readwrite) id p0;
@end
@implementation I1
@synthesize p0 = iv0;
@end
