Skip to content

[android] do not import stdatomic from android's libc++ #74348

New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Merged
merged 1 commit into from
Jun 13, 2024

Conversation

hyp
Copy link
Contributor

@hyp hyp commented Jun 12, 2024

android's libc++ uses an older module map that requires C++23 for stdatomic, and thus it fails to compile with anything else

not quite sure why this worked in the initial testing, but after some changes in LLVM/Swift the Android import requires stdatomic not to come from libc++ as it has an outdated requirement.

android's libc++ uses an older module map that requires C++23 for stdatomic, and thus it fails to compile with anything else
@hyp hyp requested a review from ian-twilightcoder June 12, 2024 17:05
@hyp hyp requested review from zoecarver, egorzhdan and a team as code owners June 12, 2024 17:05
@hyp
Copy link
Contributor Author

hyp commented Jun 12, 2024

CC @finagolfin as well

@hyp
Copy link
Contributor Author

hyp commented Jun 12, 2024

@swift-ci please test

@finagolfin
Copy link
Member

I don't use C++ interop myself so I don't know much about this issue: @egorzhdan or someone else will have to review.

Some good news though: I tracked down the change in the Termux headers that was causing the Swift/C++ interop issue there, along with a bizarre function overloading issue in the libc++ headers that I simply commented out for now. I will run the full Swift compiler validation suite in Termux next and see if those Termux header changes fix most of the C++ interop issues I have been seeing in Termux.

@hyp
Copy link
Contributor Author

hyp commented Jun 13, 2024

Some good news though: I tracked down the change in the Termux headers that was causing the Swift/C++ interop issue there, along with a bizarre function overloading issue in the libc++ headers that I simply commented out for now. I will run the full Swift compiler validation suite in Termux next and see if those Termux header changes fix most of the C++ interop issues I have been seeing in Termux.

Cool, that sounds good!

I will merge this in, to unblock further testing and cherry-picking the Android changes to swift 6.

@hyp hyp merged commit a49eb8e into swiftlang:main Jun 13, 2024
5 checks passed
hyp added a commit to hyp/swift that referenced this pull request Jun 27, 2024
[android] do not import stdatomic from android's libc++
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants