Skip to content

[cxx-interop] Workaround name lookup issues with namespace simd #78676

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 16, 2025

Conversation

porglezomp
Copy link
Contributor

On Apple platforms, a system module simd declares a namespace simd under #if defined(__cplusplus). This namespace defines C++ overlays of the simd types, but these types are already refined for Swift separately, so it's not necessary to import this namespace.

This is the same issue previously encountered for the os module, work around it in the same way. See also #78634

rdar://143007477

On Apple platforms, a system module `simd` declares a `namespace simd`
under `#if defined(__cplusplus)`. This namespace defines C++ overlays of
the simd types, but these types are already refined for Swift
separately, so it's not necessary to import this namespace.

This is the same issue previously encountered for the `os` module, work
around it in the same way.

rdar://143007477
@porglezomp
Copy link
Contributor Author

@swift-ci please smoke test

Copy link
Contributor

@egorzhdan egorzhdan left a comment

Choose a reason for hiding this comment

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

LGTM, thank you!

@egorzhdan egorzhdan added the c++ interop Feature: Interoperability with C++ label Jan 16, 2025
@porglezomp porglezomp merged commit 9121192 into swiftlang:main Jan 16, 2025
3 checks passed
@porglezomp porglezomp deleted the workaround-simd-quatf branch January 16, 2025 11:19
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