xref: /minix3/external/bsd/llvm/dist/clang/test/CodeGenCXX/mangle-nullptr-arg.cpp (revision 0a6a1f1d05b60e214de2f05a7310ddd1f0e590e7)
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 Sambuc void 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 Sambuc void 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 Sambuc void test3(DependentTypePtr<int*,nullptr>) { }
17