-
Notifications
You must be signed in to change notification settings - Fork 10.5k
[cxx-interop] Itanium ABI C++ records should have address-only layout when they can't be passed in registers #65813
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
…an't be passed in registers This ensures that a C++ record with only ObjC ARC pointers with trivial other members is passed by value in SIL Fixes swiftlang#61929
@swift-ci please test |
@swift-ci please test source compatibility |
This needs further work... |
I will take a look, try this patch out and give my review soon. Thanks for looking at this @hyp! |
@swift-ci please test |
@swift-ci please test windows platform |
Ah the macOS failure was due to a test bug :D |
…t failure on macOS
@swift-ci please test macOS platform |
@swift-ci please test |
@swift-ci please test source compatibility |
@swift-ci please test windows platform |
This ensures that a C++ record with only ObjC ARC pointers with trivial other members is passed by value in SIL
Fixes #61929
Additionally,
[cxx-interop] mark C++ classes with trivial_abi attribute as unavailable in Swift