brintos

brintos / llvm-project-archived public Read only

0
0
Text · 702 B · 68ab2cf Raw
18 lines · cpp
1// RUN: %clang_cc1 -mconstructor-aliases -fms-extensions %s -emit-llvm -o - -triple x86_64-windows-msvc | FileCheck %s2 3namespace test1 {4struct A { ~A(); };5struct __declspec(dllexport) B : virtual A { };6// CHECK: define weak_odr dso_local dllexport void @"??1B@test1@@QEAA@XZ"7// CHECK: define weak_odr dso_local dllexport void @"??_DB@test1@@QEAAXXZ"8}9 10struct __declspec(dllexport) A { virtual ~A(); };11struct __declspec(dllexport) B { virtual ~B(); };12struct __declspec(dllexport) C : A, B { virtual ~C(); };13C::~C() {}14 15// CHECK: define dso_local dllexport void @"??1C@@UEAA@XZ"16// This thunk should *not* be dllexport.17// CHECK: define linkonce_odr dso_local noundef ptr @"??_EC@@W7EAAPEAXI@Z"18