blob: 5dc8061de70b8699b194ed3efcd8d144ef95fc46 [file] [log] [blame]
Fariborz Jahanian61750f22011-03-30 16:59:30 +00001// RUN: %clang_cc1 -x objective-c++ -triple x86_64-apple-darwin10 -fsyntax-only -verify -fobjc-nonfragile-abi %s
2// rdar://9070460
3
4class TCPPObject
5{
6public:
7 TCPPObject(const TCPPObject& inObj);
8 TCPPObject();
9 ~TCPPObject();
10
11 TCPPObject& operator=(const TCPPObject& inObj)const ;
12
13 void* Data();
14
15private:
16 void* fData;
17};
18
19
20typedef const TCPPObject& CREF_TCPPObject;
21
22@interface TNSObject
23@property (assign, readwrite, nonatomic) CREF_TCPPObject cppObjectNonAtomic;
24@property (assign, readwrite) CREF_TCPPObject cppObjectAtomic;
25@property (assign, readwrite, nonatomic) const TCPPObject& cppObjectDynamic;
26@end
27
28
29@implementation TNSObject
30
31@synthesize cppObjectNonAtomic;
32@synthesize cppObjectAtomic;
33@dynamic cppObjectDynamic;
34
35- (const TCPPObject&) cppObjectNonAtomic
36{
37 return cppObjectNonAtomic;
38}
39
40- (void) setCppObjectNonAtomic: (const TCPPObject&)cppObject
41{
42 cppObjectNonAtomic = cppObject;
43}
44@end