Skip to content

Conversation

@hyp
Copy link
Contributor

@hyp hyp commented Oct 30, 2023

rdar://117494091

  • Explanation: The 5.10 toolchain fails to emit dynamic type metadata creation function (e.g. for resilient type) when one of the fields is an FRT. This change fixes that by using the raw pointer metadata for such field, as that's what's also being used for statically emitted type metadata for non-resilient types.
  • Scope: C++ interop, IRGen
  • Risk: Low, this originally worked in 5.9 but regressed somewhere along the way.
  • Testing: Unit tests
  • Original PR: [cxx-interop] use raw pointer metadata for dynamic FRT field metadata #69424

@hyp hyp added c++ interop Feature: Interoperability with C++ swift 5.10 labels Oct 30, 2023
@hyp hyp requested a review from a team as a code owner October 30, 2023 22:27
@hyp
Copy link
Contributor Author

hyp commented Oct 30, 2023

@swift-ci please test

@hyp
Copy link
Contributor Author

hyp commented Oct 30, 2023

@swift-ci please test source compatibility

@hyp hyp merged commit fa3d735 into swiftlang:release/5.10 Oct 31, 2023
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++ swift 5.10

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants