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