r306836 - [MS] Test that deleting destructor thunks are not exported

Reid Kleckner via cfe-commits cfe-commits at lists.llvm.org
Fri Jun 30 09:12:14 PDT 2017


Author: rnk
Date: Fri Jun 30 09:12:14 2017
New Revision: 306836

URL: http://llvm.org/viewvc/llvm-project?rev=306836&view=rev
Log:
[MS] Test that deleting destructor thunks are not exported

The MSVC linker emits the LNK4102 warning if they are.

Added:
    cfe/trunk/test/CodeGenCXX/dllexport-dtor-thunks.cpp

Added: cfe/trunk/test/CodeGenCXX/dllexport-dtor-thunks.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGenCXX/dllexport-dtor-thunks.cpp?rev=306836&view=auto
==============================================================================
--- cfe/trunk/test/CodeGenCXX/dllexport-dtor-thunks.cpp (added)
+++ cfe/trunk/test/CodeGenCXX/dllexport-dtor-thunks.cpp Fri Jun 30 09:12:14 2017
@@ -0,0 +1,10 @@
+// RUN: %clang_cc1 -mconstructor-aliases -fms-extensions %s -emit-llvm -o - -triple x86_64-windows-msvc | FileCheck %s
+
+struct __declspec(dllexport) A { virtual ~A(); };
+struct __declspec(dllexport) B { virtual ~B(); };
+struct __declspec(dllexport) C : A, B { virtual ~C(); };
+C::~C() {}
+
+// This thunk should *not* be dllexport.
+// CHECK: define linkonce_odr i8* @"\01??_EC@@W7EAAPEAXI at Z"
+// CHECK: define dllexport void @"\01??1C@@UEAA at XZ"




More information about the cfe-commits mailing list