With the Microsoft ABI, some destructors need to offset a parameter to
get the derived this pointer, in which case the type of that parameter
should not be a pointer to the derived type.
Fixes #60465
Paths
| Differential D145148
[Clang][CodeGen] Fix this argument type for certain destructors AbandonedPublic Authored by jacobly on Mar 2 2023, 1:40 AM.
Details
Summary With the Microsoft ABI, some destructors need to offset a parameter to Fixes #60465
Diff Detail
Event TimelineComment Actions Ah, this is for the cherry-pick to the 16.x branch -- we actually have a different process for that from usual patch submission. https://llvm.org/docs/GitHub.html#backporting-fixes-to-the-release-branches is the documentation for it, but basically, you should file a new issue on GitHub with the description // cherry-pick 67409911353323ca5edf2049ef0df54132fa1ca7 and add it to the 16.x milestone. That should kick off a bot to do the pick for you in a custom branch, and that bot will probably fail due to merge conflicts. You'll fix the merge conflicts in that branch and eventually that branch is what gets merged into the release branch.
Revision Contents
Diff 501811 clang/docs/ReleaseNotes.rst
clang/lib/CodeGen/CGCXXABI.h
clang/lib/CodeGen/CGCall.cpp
clang/lib/CodeGen/CGExprCXX.cpp
clang/lib/CodeGen/MicrosoftCXXABI.cpp
clang/test/CodeGenCXX/constructor-destructor-return-this.cpp
clang/test/CodeGenCXX/cxx2a-destroying-delete.cpp
clang/test/CodeGenCXX/microsoft-abi-eh-cleanups.cpp
clang/test/CodeGenCXX/microsoft-abi-structors.cpp
clang/test/CodeGenCXX/microsoft-abi-virtual-inheritance.cpp
|