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