Skip to content

[cxx-interop] Workaround compiler error when importing AppKit/UIKit with C++ interop #78694

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

Conversation

porglezomp
Copy link
Contributor

The AppKit/UIKit overlay refers to symbols declared via NS_OPTIONS macro, which is causing issues in C++ language mode due to the macro definition being different. This teaches the module interface loader to drop the C++ interop flag when rebuilding the AppKit and UIKit overlay from its interface.

This is the same fix as #78636, but for different modules.

rdar://143033209

…ith C++ interop

The AppKit/UIKit overlay refers to symbols declared via NS_OPTIONS
macro, which is causing issues in C++ language mode due to the macro
definition being different. This teaches the module interface loader to
drop the C++ interop flag when rebuilding the AppKit and UIKit overlay
from its interface.

This is the same fix as swiftlang#78636, but for different modules.

rdar://143033209
@porglezomp porglezomp added the c++ interop Feature: Interoperability with C++ label Jan 16, 2025
@porglezomp
Copy link
Contributor Author

@swift-ci please smoke test

@porglezomp
Copy link
Contributor Author

@swift-ci please smoke test linux

@porglezomp porglezomp merged commit 638950c into swiftlang:main Jan 19, 2025
3 checks passed
@porglezomp porglezomp deleted the workaround-nsoptions-appkit-uikit branch January 19, 2025 11:31
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.

2 participants