1// RUN: %clang_cc1 -E %s -o %t.mm 2// RUN: %clang_cc1 -fms-extensions -rewrite-objc -debug-info-kind=limited %t.mm -o %t-rw.cpp 3// RUN: FileCheck -check-prefix CHECK-LINE --input-file=%t-rw.cpp %s 4// RUN: %clang_cc1 -fms-extensions -rewrite-objc %t.mm -o %t-rwnog.cpp 5// RUN: FileCheck -check-prefix CHECK-NOLINE --input-file=%t-rwnog.cpp %s 6// rdar://13138170 7 8__attribute__((objc_root_class)) @interface MyObject { 9@public 10 id _myMaster; 11 id _isTickledPink; 12} 13@property(retain) id myMaster; 14@property(assign) id isTickledPink; 15@end 16 17@implementation MyObject 18 19@synthesize myMaster = _myMaster; 20@synthesize isTickledPink = _isTickledPink; 21 22- (void) doSomething { 23 _myMaster = _isTickledPink; 24} 25 26@end 27 28MyObject * foo () 29{ 30 MyObject* p; 31 p.isTickledPink = p.myMaster; // ok 32 p->_isTickledPink = p->_myMaster; 33 return p->_isTickledPink; 34} 35 36// CHECK-LINE: #line 22 37// CHECK-LINE: #line 28 38// CHECK-NOLINE-NOT: #line 22 39// CHECK-NOLINE-NOT: #line 28 40 41