diff options
author | David Majnemer <david.majnemer@gmail.com> | 2017-02-14 00:54:11 +0000 |
---|---|---|
committer | David Majnemer <david.majnemer@gmail.com> | 2017-02-14 00:54:11 +0000 |
commit | cc8bc8ac38a541be2e25eefeaa7692b29879ecf3 (patch) | |
tree | 0b7f716febbf627bcac88392f7de8c5cbcbffc43 /test/CodeGenCXX/regcall.cpp | |
parent | 5b38d7133e9cd36796e369aaa8f58b51dfe972d1 (diff) |
[MS ABI] Correctly mangling vbase destructors
They are a little bit of a special case in the mangling. They are always
mangled without taking into account their virtual-ness of the
destructor. They are also mangled to return void, unlike the actual
destructor.
This fixes PR31931.
Differential Revision: https://reviews.llvm.org/D29912
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@295010 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGenCXX/regcall.cpp')
-rw-r--r-- | test/CodeGenCXX/regcall.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/test/CodeGenCXX/regcall.cpp b/test/CodeGenCXX/regcall.cpp index 0cc6ad0093..0ff6fdf12a 100644 --- a/test/CodeGenCXX/regcall.cpp +++ b/test/CodeGenCXX/regcall.cpp @@ -47,8 +47,8 @@ public: // CHECK-LIN-DAG: define linkonce_odr x86_regcallcc void @_ZN10test_classD2Ev // CHECK-LIN-DAG: define linkonce_odr x86_regcallcc void @_ZN10test_classD1Ev // Windows ignores calling convention on constructor/destructors. - // CHECK-WIN64-DAG: define linkonce_odr void @"\01??_Dtest_class@@QEAA@XZ" - // CHECK-WIN32-DAG: define linkonce_odr x86_thiscallcc void @"\01??_Dtest_class@@QAE@XZ" + // CHECK-WIN64-DAG: define linkonce_odr void @"\01??_Dtest_class@@QEAAXXZ" + // CHECK-WIN32-DAG: define linkonce_odr x86_thiscallcc void @"\01??_Dtest_class@@QAEXXZ" test_class& __regcall operator+=(const test_class&){ return *this; |