-
Notifications
You must be signed in to change notification settings - Fork 10.5k
[cxx-interop] Skip type metadata for C++ types that are only used in private C++ fields #78467
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
@swift-ci please smoke test |
6542187
to
a0d24fb
Compare
@swift-ci please smoke test |
@swift-ci please smoke test Linux |
LGTM, but please add a test case; it should be straightforward to test that we don't emit field metadata for these fields. Also, is the right condition that it's |
Thanks @rjmccall, I'll add a test before merging this.
We're checking the access level of the imported Swift decl, and C++ |
a0d24fb
to
b31a282
Compare
@swift-ci please smoke test |
…private C++ fields This fixes compiler errors for C++ types that use pimpl idiom: ``` invalid application of 'sizeof' to an incomplete type ``` rdar://141960396
b31a282
to
738c8fb
Compare
@swift-ci please smoke test |
PR swiftlang#78467 omitted certain fields from the FieldDescriptor list, but did not update the count of fields that's emitted just before that list. Update the count so it matches the number of field descriptors we actually emit. Resolves rdar://143402921
PR swiftlang#78467 omitted certain fields from the FieldDescriptor list, but did not update the count of fields that's emitted just before that list. Update the count so it matches the number of field descriptors we actually emit. Resolves rdar://143402921
This fixes compiler errors for C++ types that use pimpl idiom:
rdar://141960396