Skip to content

[cxx-interop] Allow more C++ decls in public Swift interfaces #78057

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 2 commits into from
Dec 10, 2024

Conversation

egorzhdan
Copy link
Contributor

This is a follow-up to 8859b62.

Let's allow usages of C++ global variables, fields and constructors, as long as the types involved aren't fragile, e.g. if they are C-like structs.

This resolves compiler errors when trying to rebuild System.swiftmodule from its textual interface with Xcode 16.1.

rdar://140203932
rdar://141124318

This is a follow-up to 8859b62.

This resolves compiler errors when trying to rebuild System.swiftmodule from its textual interface with Xcode 16.1.

rdar://140203932
rdar://141124318
@egorzhdan egorzhdan added the c++ interop Feature: Interoperability with C++ label Dec 9, 2024
@egorzhdan
Copy link
Contributor Author

@swift-ci please test

This is a follow-up to 8859b62.

This resolves compiler errors when trying to rebuild System.swiftmodule from its textual interface with Xcode 16.1.

rdar://140203932
rdar://141124318
@egorzhdan egorzhdan force-pushed the egorzhdan/relax-cxx-resilience branch from 20fe893 to e67f2b7 Compare December 9, 2024 19:40
@egorzhdan
Copy link
Contributor Author

@swift-ci please test

@egorzhdan
Copy link
Contributor Author

@swift-ci please test Windows

Copy link
Contributor

@Xazax-hun Xazax-hun left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@egorzhdan egorzhdan merged commit c1ff2c3 into main Dec 10, 2024
5 checks passed
@egorzhdan egorzhdan deleted the egorzhdan/relax-cxx-resilience branch December 10, 2024 13:28
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
Development

Successfully merging this pull request may close these issues.

3 participants