[clang] Handle __declspec() attributes in using
[llvm-project.git] / clang / test / CodeGenCXX / virt-template-vtable.cpp
blob66d2332ca33414d36b4021ff017501e7dec04655
1 // RUN: %clang_cc1 %s -triple %itanium_abi_triple -emit-llvm -o - | FileCheck %s
3 template<class T> class A {
4 public:
5 A() {}
6 virtual void a() {}
7 };
8 class B : A<int> {
9 B();
11 B::B() {}
13 template class A<long>;
15 extern template class A<short>;
16 template class A<short>;
19 // CHECK: @_ZTV1B = linkonce_odr {{(dso_local )?}}unnamed_addr constant
20 // CHECK: @_ZTV1AIlE = weak_odr {{(dso_local )?}}unnamed_addr constant
21 // CHECK: @_ZTV1AIsE = weak_odr {{(dso_local )?}}unnamed_addr constant
22 // CHECK: @_ZTV1AIiE = linkonce_odr {{(dso_local )?}}unnamed_addr constant
24 template<class T> struct C {
25 virtual void c() {}
27 struct D : C<int> {
28 virtual void d();
30 void D::d() {}
32 // CHECK: define {{.*}}@_ZN1CIiE1cEv(