]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - test/CodeGenCXX/dllexport-vtable-thunks.cpp
Vendor import of clang trunk r338150:
[FreeBSD/FreeBSD.git] / test / CodeGenCXX / dllexport-vtable-thunks.cpp
1 // RUN: %clang_cc1 -triple x86_64-windows-gnu -fdeclspec -emit-llvm -o - %s | FileCheck %s
2 // RUN: %clang_cc1 -triple x86_64-windows-itanium -fdeclspec -emit-llvm -o - %s | FileCheck %s
3
4 struct __declspec(dllexport) A {
5   virtual void m();
6 };
7 struct __declspec(dllexport) B {
8   virtual void m();
9 };
10 struct __declspec(dllexport) C : A, B {
11   virtual void m();
12 };
13 void C::m() {}
14 // CHECK: define dso_local dllexport void @_ZThn8_N1C1mEv
15
16 struct Base {
17   virtual void m();
18 };
19 struct __declspec(dllexport) Derived : virtual Base {
20   virtual void m();
21 };
22 void Derived::m() {}
23 // CHECK: define dso_local dllexport void @_ZTv0_n24_N7Derived1mEv