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