virt-template-vtable.cpp revision 279b5eb6910d64a293e9c0e2887a05c65d8737d7
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 = weak_odr constant
20// CHECK: @_ZTV1AIlE = weak_odr constant
21// CHECK: @_ZTV1AIsE = weak_odr constant
22// CHECK: @_ZTV1AIiE = weak_odr constant
23