-
Notifications
You must be signed in to change notification settings - Fork 10.6k
OpenBSD 7.8 will require OpaquePointer for FILE. #84478
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
Conversation
|
@swift-ci please test. |
|
@swift-ci please test macOS platform. |
|
We need to disable SwiftReflectionTest on OpenBSD < 7.8 with this change as well, because there will still be a type mismatch on the Swift side as that calls fwrite/fflush directly. |
3c38990 to
f9a9f2c
Compare
|
@swift-ci please test. |
f9a9f2c to
d4b8ce2
Compare
|
@swift-ci please test. |
d4b8ce2 to
d46d128
Compare
|
@swift-ci please test. |
d46d128 to
a8733ab
Compare
|
@swift-ci please test. |
finagolfin
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not familiar with the OpenBSD change, but this will not affect any other platform and you know OpenBSD best, so LGTM with nit.
OpenBSD 7.8 snapshots hide the type information for FILE. Therefore, the types for the standard stdio streams should (regrettably) be OpaquePointer, due to the well-discussed issue of losing type information for forward-declared C types. We explicitly drop to void * in the LibcOverlayShims for backwards compatibility, since OpenBSD 7.8 is not yet released. However, because SwiftReflectionTest uses libc FILE functions like fwrite and fflush directly, this means that building this on 7.7 will still fail because types will mismatch. Instead of adding extra shims, let's just skip building SwiftReflectionTest on 7.7.
a8733ab to
262a484
Compare
|
@swift-ci smoke test |
OpenBSD 7.8 snapshots hide the type information for FILE. Therefore, the types for the standard stdio streams should (regrettably) be OpaquePointer, due to the well-discussed issue of losing type information for forward-declared C types.
We explicitly drop to void * in the LibcOverlayShims for backwards compatibility, since OpenBSD 7.8 is not yet released.