Skip to content

[cxx-interop] Workaround compiler error when importing CoreGraphics with C++ interop #78636

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 1 commit into from
Jan 15, 2025

Conversation

egorzhdan
Copy link
Contributor

The CoreGraphics overlay refers to symbols declared via CF_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 CoreGraphics overlay from its interface.

rdar://142762174

…ith C++ interop

The CoreGraphics overlay refers to symbols declared via `CF_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 CoreGraphics overlay from its interface.

rdar://142762174
@egorzhdan egorzhdan added the c++ interop Feature: Interoperability with C++ label Jan 14, 2025
@egorzhdan
Copy link
Contributor Author

@swift-ci please smoke test

@egorzhdan egorzhdan merged commit 8c07ca9 into main Jan 15, 2025
3 checks passed
@egorzhdan egorzhdan deleted the egorzhdan/coregraphics-workaround branch January 15, 2025 12:59
porglezomp added a commit to porglezomp-misc/swift that referenced this pull request Jan 16, 2025
…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 added a commit to porglezomp-misc/swift that referenced this pull request Jan 19, 2025
…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
(cherry picked from commit 7323a75)
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