-
Notifications
You must be signed in to change notification settings - Fork 10.5k
[4.0] TBD including all files from a full build. #11136
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
[4.0] TBD including all files from a full build. #11136
Conversation
It is only top-level globals in the main file that do not have accessors, something like class Foo { static var x = 0 } has them no matter where it is. Fixes rdar://problem/32391290 .
This is a vast overestimate, but is better than missing some. rdar://problem/32254773
@swift-ci Please test. |
…ivate. If the closure is serialized, it needs to be shared.
These were accidentally non-static.
These were accidentally left as `extern` rather than the correct `static` or `static inline` (etc.).
… linkage. Previously this would mean that specialization of a public function are public, which is incorrect.
1d04bc9
to
e1e48ab
Compare
@swift-ci Please test. @slavapestov could you review this for 4.0? (It includes the proper materializeForSet closure change.) |
@swift-ci Please test. |
Build failed |
Build failed |
LGTM |
#10861 , #10724 , and #11142 .
Explanation: TBDGen now includes all the exported symbols encountered while building the standard library and test suite.
Scope: Future users of TBD files, as there's no functionality change outside of it.
Radar: rdar://problem/32252869 and its subtasks.
Risk: Low: the only changes outside of TBDGen are tightening the linkage of some symbols, which people shouldn't be relying on.
Testing: CI and local testing with TBD validation turned on by default (which this PR doesn't include, as that could break user's build).