1 // RUN: %clang_cc1 %s -emit-llvm -o - | FileCheck %s
2
3 template<class T> class A {
4 public:
A()5 A() {}
a()6 virtual void a() {}
7 };
8 class B : A<int> {
9 B();
10 };
B()11 B::B() {}
12
13 template class A<long>;
14
15 extern template class A<short>;
16 template class A<short>;
17
18
19 // CHECK: @_ZTV1B = linkonce_odr unnamed_addr constant
20 // CHECK: @_ZTV1AIlE = weak_odr unnamed_addr constant
21 // CHECK: @_ZTV1AIsE = weak_odr unnamed_addr constant
22 // CHECK: @_ZTV1AIiE = linkonce_odr unnamed_addr constant
23