1*67e74705SXin Li // RUN: %clang_cc1 -std=c++11 -triple %itanium_abi_triple -emit-llvm -o - %s | FileCheck %s 2*67e74705SXin Li 3*67e74705SXin Li template<int *ip> struct IP {}; 4*67e74705SXin Li 5*67e74705SXin Li // CHECK-LABEL: define {{.*}}void @_Z5test12IPILPi0EE test1(IP<nullptr>)6*67e74705SXin Livoid test1(IP<nullptr>) {} 7*67e74705SXin Li 8*67e74705SXin Li struct X{ }; 9*67e74705SXin Li template<int X::*pm> struct PM {}; 10*67e74705SXin Li 11*67e74705SXin Li // CHECK-LABEL: define {{.*}}void @_Z5test22PMILM1Xi0EE test2(PM<nullptr>)12*67e74705SXin Livoid test2(PM<nullptr>) { } 13*67e74705SXin Li 14*67e74705SXin Li // CHECK-LABEL: define {{.*}}void @_Z5test316DependentTypePtrIPiLS0_0EE 15*67e74705SXin Li template<typename T, T x> struct DependentTypePtr {}; test3(DependentTypePtr<int *,nullptr>)16*67e74705SXin Livoid test3(DependentTypePtr<int*,nullptr>) { } 17