Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
MSVC ABI: Looks like even non-aarch64 uses the MSVC/14 definition for…
… pod/aggregate passing Details posted here: https://reviews.llvm.org/D119051#3747201 3 cases that were inconsistent with the MSABI without this patch applied: https://godbolt.org/z/GY48qxh3G - field with protected member https://godbolt.org/z/Mb1PYhjrP - non-static data member initializer https://godbolt.org/z/sGvxcEPjo - defaulted copy constructor I'm not sure what's suitable/sufficient testing for this - I did verify the three cases above. Though if it helps to add them as explicit tests, I can do that too. Also, I was wondering if the other use of isTrivialForAArch64MSVC in isPermittedToBeHomogenousAggregate could be another source of bugs - I tried changing the function to unconditionally call isTrivialFor(AArch64)MSVC without testing AArch64 first, but no tests fail, so it looks like this is undertested in any case. But I had trouble figuring out how to exercise this functionality properly to add test coverage and then compare that to MSVC itself... - I got very confused/turned around trying to test this, so I've given up enough to send what I have out for review, but happy to look further into this with help. Differential Revision: https://reviews.llvm.org/D133817
- Loading branch information
Showing
2 changed files
with
45 additions
and
16 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters