1 | // RUN: %clang_cc1 -triple x86_64-windows-gnu -mconstructor-aliases %s -S -emit-llvm -o - | FileCheck %s |
2 | |
3 | // This test assumes that the C1 constructor will be aliased to the C2 |
4 | // constructor, and the D1 destructor to the D2. It then checks that the aliases |
5 | // are dllexport'ed. |
6 | |
7 | class __declspec(dllexport) A { |
8 | public: |
9 | A(); |
10 | ~A(); |
11 | }; |
12 | |
13 | A::A() {} |
14 | |
15 | A::~A() {} |
16 | |
17 | // CHECK: @_ZN1AC1Ev = dso_local dllexport unnamed_addr alias void (%class.A*), void (%class.A*)* @_ZN1AC2Ev |
18 | // CHECK: @_ZN1AD1Ev = dso_local dllexport unnamed_addr alias void (%class.A*), void (%class.A*)* @_ZN1AD2Ev |
19 | |