1*67e74705SXin Li // RUN: %clang_cc1 %s -DNS=std -emit-llvm -triple %itanium_abi_triple -o - | FileCheck %s --check-prefix=CHECK-STD 2*67e74705SXin Li // RUN: %clang_cc1 %s -DNS=n -emit-llvm -triple %itanium_abi_triple -o - | FileCheck %s --check-prefix=CHECK-N 3*67e74705SXin Li 4*67e74705SXin Li // _ZNSt1DISt1CE1iE = std::D<std::C>::i 5*67e74705SXin Li // CHECK-STD: @_ZNSt1DISt1CE1iE = 6*67e74705SXin Li 7*67e74705SXin Li // _ZN1n1DINS_1CEE1iE == n::D<n::C>::i 8*67e74705SXin Li // CHECK-N: @_ZN1n1DINS_1CEE1iE = 9*67e74705SXin Li 10*67e74705SXin Li namespace NS { 11*67e74705SXin Li extern "C" { 12*67e74705SXin Li class C { 13*67e74705SXin Li }; 14*67e74705SXin Li } 15*67e74705SXin Li 16*67e74705SXin Li template <class T> 17*67e74705SXin Li class D { 18*67e74705SXin Li public: 19*67e74705SXin Li static int i; 20*67e74705SXin Li }; 21*67e74705SXin Li 22*67e74705SXin Li } 23*67e74705SXin Li 24*67e74705SXin Li f()25*67e74705SXin Liint f() { 26*67e74705SXin Li return NS::D<NS::C>::i; 27*67e74705SXin Li } 28