1c9bd88e6SHans Wennborg // RUN: %clang_cc1 -std=c++11 -triple %itanium_abi_triple -emit-llvm -o - %s | FileCheck %s
231f55dceSDouglas Gregor 
331f55dceSDouglas Gregor template<int *ip> struct IP {};
431f55dceSDouglas Gregor 
5*ea3e51d7SDavid Blaikie // CHECK-LABEL: define {{.*}}void @_Z5test12IPILPi0EE
test1(IP<nullptr>)631f55dceSDouglas Gregor void test1(IP<nullptr>) {}
731f55dceSDouglas Gregor 
831f55dceSDouglas Gregor struct X{ };
931f55dceSDouglas Gregor template<int X::*pm> struct PM {};
1031f55dceSDouglas Gregor 
11*ea3e51d7SDavid Blaikie // CHECK-LABEL: define {{.*}}void @_Z5test22PMILM1Xi0EE
test2(PM<nullptr>)1231f55dceSDouglas Gregor void test2(PM<nullptr>) { }
1331f55dceSDouglas Gregor 
14*ea3e51d7SDavid Blaikie // CHECK-LABEL: define {{.*}}void @_Z5test316DependentTypePtrIPiLS0_0EE
15b826a008SEli Friedman template<typename T, T x> struct DependentTypePtr {};
test3(DependentTypePtr<int *,nullptr>)16b826a008SEli Friedman void test3(DependentTypePtr<int*,nullptr>) { }
17