1*67e74705SXin Li // RUN: %clang_cc1 %s -emit-llvm -o - -triple=i686-apple-darwin9 | FileCheck %s 2*67e74705SXin Li 3*67e74705SXin Li namespace PR11411 { 4*67e74705SXin Li template<typename _Tp> struct Ptr { 5*67e74705SXin Li void f(); 6*67e74705SXin Li }; 7*67e74705SXin Li 8*67e74705SXin Li // CHECK-LABEL: define linkonce_odr void @_ZN7PR114113PtrIiE1fEv 9*67e74705SXin Li // CHECK-NOT: ret f()10*67e74705SXin Li template<typename _Tp> inline void Ptr<_Tp>::f() { 11*67e74705SXin Li int* _refcount; 12*67e74705SXin Li // CHECK: atomicrmw add i32* 13*67e74705SXin Li __sync_fetch_and_add(_refcount, 1); 14*67e74705SXin Li // CHECK-NEXT: ret void 15*67e74705SXin Li } f(Ptr<int> * a)16*67e74705SXin Li void f(Ptr<int> *a) { a->f(); } 17*67e74705SXin Li } 18