repo.or.cz
/
llvm-project.git
/
blob
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
log
|
graphiclog1
|
graphiclog2
|
commit
|
commitdiff
|
tree
|
refs
|
edit
|
fork
history
|
raw
|
HEAD
Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git]
/
clang
/
test
/
SemaObjCXX
/
conversion-to-objc-pointer.mm
blob
256f850b7a10fb4975fece914460599b60f82fad
1
// RUN: %clang_cc1 -fsyntax-only -verify %s
2
// expected-no-diagnostics
3
4
template<class T>
5
class TNSAutoRef
6
{
7
public:
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
21
private:
22
T fRef;
23
};
24
25
@interface NSObject
26
- (id) alloc;
27
- (id)init;
28
@end
29
30
@interface TFoo : NSObject
31
- (void) foo;
32
@end
33
34
@implementation TFoo
35
- (void) foo {}
36
@end
37
38
@interface TBar : NSObject
39
- (void) foo;
40
@end
41
42
@implementation TBar
43
- (void) foo {}
44
@end
45
46
int main () {
47
TNSAutoRef<TBar*> bar([[TBar alloc] init]);
48
[bar foo];
49
return 0;
50
}