blob: 2f146ce2061b8d34e84765c97728ba3a9925792b [file] [log] [blame]
Fariborz Jahaniancac49a82010-05-12 23:29:11 +00001// RUN: %clang_cc1 -fsyntax-only -verify %s
2// rdar: // 7963410
3
4template<class T>
5class TNSAutoRef
6{
7public:
8 TNSAutoRef(T t)
9 : fRef(t)
10 { }
11
12 ~TNSAutoRef()
13 { }
14
15 operator T() const
16 { return fRef; }
17
18 T Get() const
19 { return fRef; }
20
21private:
22 T fRef;
23};
24
25@interface NSObject
26- (id) alloc;
27- (id)init;
28@end
29
30@interface TFoo : NSObject
31
32- (void) foo;
33@end
34
35@implementation TFoo
36
37- (void) foo
38 {}
39@end
40
41@interface TBar : NSObject
42@end
43
44@implementation TBar
45@end
46
47int main () {
48 TNSAutoRef<TBar*> bar([[TBar alloc] init]);
49 [bar foo];
50 return 0;
51}