Skip to content

[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

Merged
merged 4 commits into from
Jun 16, 2023

Conversation

hyp
Copy link
Contributor

@hyp hyp commented May 9, 2023

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

hyp added 2 commits May 9, 2023 16:23
…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
@hyp hyp added the c++ interop Feature: Interoperability with C++ label May 9, 2023
@hyp hyp requested review from plotfi and ravikandhadai May 9, 2023 23:25
@hyp hyp requested review from zoecarver and egorzhdan as code owners May 9, 2023 23:25
@hyp
Copy link
Contributor Author

hyp commented May 9, 2023

@swift-ci please test

@hyp
Copy link
Contributor Author

hyp commented May 9, 2023

@swift-ci please test source compatibility

@hyp
Copy link
Contributor Author

hyp commented May 10, 2023

This needs further work...

@plotfi
Copy link
Contributor

plotfi commented Jun 8, 2023

I will take a look, try this patch out and give my review soon. Thanks for looking at this @hyp!

@hyp
Copy link
Contributor Author

hyp commented Jun 12, 2023

@swift-ci please test

@hyp
Copy link
Contributor Author

hyp commented Jun 14, 2023

@swift-ci please test windows platform

@hyp
Copy link
Contributor Author

hyp commented Jun 15, 2023

Ah the macOS failure was due to a test bug :D

@hyp
Copy link
Contributor Author

hyp commented Jun 15, 2023

@swift-ci please test macOS platform

@hyp hyp changed the title [cxx-interop] C++ records should have address-only layout when they can't be passed in registers [cxx-interop] Itanium ABI C++ records should have address-only layout when they can't be passed in registers Jun 15, 2023
@hyp
Copy link
Contributor Author

hyp commented Jun 15, 2023

@swift-ci please test

@hyp
Copy link
Contributor Author

hyp commented Jun 15, 2023

@swift-ci please test source compatibility

@hyp
Copy link
Contributor Author

hyp commented Jun 15, 2023

@swift-ci please test windows platform

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
c++ interop Feature: Interoperability with C++
Projects
None yet
2 participants