diff options
Diffstat (limited to 'test/SemaObjCXX/arc-templates.mm')
-rw-r--r-- | test/SemaObjCXX/arc-templates.mm | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/test/SemaObjCXX/arc-templates.mm b/test/SemaObjCXX/arc-templates.mm index b3519b957372..ebede6404f90 100644 --- a/test/SemaObjCXX/arc-templates.mm +++ b/test/SemaObjCXX/arc-templates.mm @@ -302,3 +302,19 @@ namespace rdar14467941 { float &fr2 = takePtr<A>(a); } } + +namespace rdar15713945 { + template <class T> int &f(__strong T &); + template <class T> float &f(__weak T &); + template <class T> double &f(__unsafe_unretained T &); + template <class T> char &f(T &); + + void foo() { + __strong NSString * const strong = 0; + int &ir = (f)(strong); + __weak NSString * const weak = 0; + float &fr = (f)(weak); + __unsafe_unretained NSString * const unsafe = 0; + double &dr = (f)(unsafe); + } +} |