1*f4a2713aSLionel Sambuc // RUN: %clang_cc1 -std=c++11 -emit-llvm %s -o - -cxx-abi microsoft -fms-extensions -fdelayed-template-parsing -triple=i386-pc-win32 | FileCheck %s 2*f4a2713aSLionel Sambuc // RUN: %clang_cc1 -std=c++11 -emit-llvm %s -o - -cxx-abi microsoft -fms-extensions -fdelayed-template-parsing -triple=x86_64-pc-win32 | FileCheck -check-prefix X64 %s 3*f4a2713aSLionel Sambuc 4*f4a2713aSLionel Sambuc namespace ClassScopeSpecialization { 5*f4a2713aSLionel Sambuc struct Type { 6*f4a2713aSLionel Sambuc template <int i> 7*f4a2713aSLionel Sambuc void Foo() {} 8*f4a2713aSLionel Sambuc template <> 9*f4a2713aSLionel Sambuc void Foo<0>() {} 10*f4a2713aSLionel Sambuc }; 11*f4a2713aSLionel Sambuc 12*f4a2713aSLionel Sambuc void call() { 13*f4a2713aSLionel Sambuc Type T; 14*f4a2713aSLionel Sambuc // CHECK: call {{.*}} @"\01??$Foo@$0A@@Type@ClassScopeSpecialization@@QAEXXZ" 15*f4a2713aSLionel Sambuc // X64: call {{.*}} @"\01??$Foo@$0A@@Type@ClassScopeSpecialization@@QEAAXXZ" 16*f4a2713aSLionel Sambuc T.Foo<0>(); 17*f4a2713aSLionel Sambuc } 18*f4a2713aSLionel Sambuc } 19