Skip to content

Foundation/CoreFoundation: repair bridging for NSLocale #2157

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
May 14, 2019

Conversation

compnerd
Copy link
Member

NSLocale is toll-free bridged to CFLocale. The types must match.
On many targets, the backing store for _lock was being elided as the
value was conditionally defined.

Extract the locking macros/types into a CFLocking.h and then include
that into CFInternal.h and ForSwiftFoundationOnly.h. This allows
the underlying type information to be shared into Swift permitting the
__CFLocale type to be reconstructed without guessing as to the
underlying type.

This repairs the bridging of NSLocale on Windows and allows us to get
further in the test suite.

@compnerd
Copy link
Member Author

@swift-ci please test

@millenomi
Copy link
Contributor

Testing will fail until the build fix is in. Please hold.

@millenomi
Copy link
Contributor

Also: CFLocking.h isn't in the patch?

@compnerd
Copy link
Member Author

Clearly I am unable to use git :-(

@millenomi
Copy link
Contributor

@swift-ci please test

5 similar comments
@compnerd
Copy link
Member Author

@swift-ci please test

@millenomi
Copy link
Contributor

@swift-ci please test

@compnerd
Copy link
Member Author

@swift-ci please test

@spevans
Copy link
Contributor

spevans commented Apr 24, 2019

@swift-ci please test

@compnerd
Copy link
Member Author

@swift-ci please test

@compnerd
Copy link
Member Author

@swift-ci please test

@compnerd
Copy link
Member Author

@swift-ci please test

2 similar comments
@compnerd
Copy link
Member Author

@swift-ci please test

@compnerd
Copy link
Member Author

@swift-ci please test

@spevans
Copy link
Contributor

spevans commented Apr 28, 2019

@swift-ci test

@compnerd
Copy link
Member Author

@swift-ci please test

4 similar comments
@compnerd
Copy link
Member Author

@swift-ci please test

@compnerd
Copy link
Member Author

@swift-ci please test

@compnerd
Copy link
Member Author

@swift-ci please test

@compnerd
Copy link
Member Author

@swift-ci please test

@compnerd
Copy link
Member Author

compnerd commented May 9, 2019

@swift-ci please test

@compnerd
Copy link
Member Author

compnerd commented May 9, 2019

Ah, the Linux failure is due to the deployment target not being specified.

@compnerd
Copy link
Member Author

compnerd commented May 9, 2019

@swift-ci please test

@compnerd
Copy link
Member Author

@swift-ci please test

@compnerd
Copy link
Member Author

@swift-ci please test

@compnerd
Copy link
Member Author

@swift-ci please test

`NSLocale` is toll-free bridged to `CFLocale`.  The types must match.
On many targets, the backing store for `_lock` was being elided as the
value was conditionally defined.

Extract the locking macros/types into a `CFLocking.h` and then include
that into `CFInternal.h` and `ForSwiftFoundationOnly.h`.  This allows
the underlying type information to be shared into Swift permitting the
`__CFLocale` type to be reconstructed without guessing as to the
underlying type.

This repairs the bridging of `NSLocale` on Windows and allows us to get
further in the test suite.
@compnerd
Copy link
Member Author

@swift-ci please test

@compnerd
Copy link
Member Author

Ugh, seems that the Windows build is currently broken without this. I'm going to merge It to repair it, it passes the CI; we can address additional feedback in a follow up change, this largely is code-motion + the Swift side type layout fix for Windows.

@compnerd compnerd merged commit d79181b into swiftlang:master May 14, 2019
@compnerd compnerd deleted the pay-the-toll branch May 14, 2019 06:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants