Skip to content
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

[SR-12471] [C++] Populate value witness tables for C++ types #54911

Open
swift-ci opened this issue Mar 31, 2020 · 2 comments
Open

[SR-12471] [C++] Populate value witness tables for C++ types #54911

swift-ci opened this issue Mar 31, 2020 · 2 comments
Labels
c++ interop Feature: Interoperability with C++ compiler The Swift compiler in itself IRGen LLVM IR generation new feature

Comments

@swift-ci
Copy link
Collaborator

Previous ID SR-12471
Radar rdar://problem/62201099
Original Reporter MForster (JIRA User)
Type New Feature
Additional Detail from JIRA
Votes 0
Component/s Compiler
Labels New Feature, CxxInterop, IRGen
Assignee None
Priority Medium

md5: 109e38b3d31add61db25aa689758634e

blocks:

  • SR-12540 [C++] Import class template instantiations

relates to:

  • SR-12797 [C++] IRGen should lower value operations on C++ types correctly

Issue Description:

The Swift compiler should generate correct witness tables for C++ types, calling special members of the C++ type as appropriate.

@swift-ci
Copy link
Collaborator Author

Comment by Michael Forster (JIRA)

This actually seems easier to do than getting constructors right because a) there is no SIL involved, and b) we have direct access to the CXXRecordDecl in the place where we need to populate the value witness table.

@beccadax
Copy link
Contributor

@swift-ci create

@swift-ci swift-ci transferred this issue from apple/swift-issues Apr 25, 2022
@zoecarver zoecarver added c++ interop Feature: Interoperability with C++ and removed CxxInterop labels Apr 25, 2022
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++ compiler The Swift compiler in itself IRGen LLVM IR generation new feature
Projects
None yet
Development

No branches or pull requests

3 participants