1// RUN: %clang_cc1 -fsyntax-only -fdebugger-support -verify -Wno-objc-root-class %s 2// RUN: %clang_cc1 -x objective-c++ -fdebugger-support -fsyntax-only -verify -Wno-objc-root-class %s 3// expected-no-diagnostics 4// rdar://10997647 5 6@interface I 7{ 8@private 9int ivar; 10} 11@end 12 13@implementation I 14- (int) meth { 15 return self->ivar; 16} 17int foo1(I* p) { 18 return p->ivar; 19} 20@end 21 22int foo(I* p) { 23 return p->ivar; 24} 25 26@interface B 27@end 28 29@implementation B 30- (int) meth : (I*) arg { 31 return arg->ivar; 32} 33@end 34 35 36@interface I1 { 37 int protected_ivar; 38} 39@property int PROP_INMAIN; 40@end 41 42@interface I1() { 43 int private_ivar; 44} 45@property int PROP_INCLASSEXT; 46@end 47 48@implementation I1 49@synthesize PROP_INMAIN, PROP_INCLASSEXT; 50 51- (int) Meth { 52 PROP_INMAIN = 1; 53 PROP_INCLASSEXT = 2; 54 protected_ivar = 1; // OK 55 return private_ivar; // OK 56} 57@end 58 59 60@interface DER : I1 61@end 62 63@implementation DER 64- (int) Meth { 65 protected_ivar = 1; // OK 66 PROP_INMAIN = 1; 67 PROP_INCLASSEXT = 2; 68 return private_ivar; 69} 70@end 71 72