1// RUN: %clang_cc1 %s -emit-llvm -o - | FileCheck %s
2
3template<class T> class A {
4public:
5  A() {}
6  virtual void a() {}
7};
8class B : A<int> {
9  B();
10};
11B::B() {}
12
13template class A<long>;
14
15extern template class A<short>;
16template 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