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