-
Notifications
You must be signed in to change notification settings - Fork 10.6k
Fix global accessor and class linker errors in package. #73686
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
d26265f to
e3cce07
Compare
|
@swift-ci smoke test |
slavapestov
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.
Nice catch!
1fefb0d to
c379f0a
Compare
|
@swift-ci smoke test |
c379f0a to
58cc800
Compare
|
@swift-ci smoke test |
58cc800 to
34d9594
Compare
|
@swift-ci smoke test |
97d5ef3 to
c80f6c5
Compare
9dfe9e3 to
f83861e
Compare
Add global accessors to symbol list if VarDecl is fragile, i.e. is non-resilient or its defining module allows non-resilient access. Don't set the class decl to hidden if it's in a package resilience domain; even though its defining module is built resilently, the class symbol should be visible across modules if they are in the same package with resilience-bypass optimization. In such case, treat its SubclassScope to Internal. Resolves rdar://127321129
f83861e to
80855c8
Compare
|
@swift-ci smoke test |
|
@swift-ci smoke test |
d72f92b to
36b4d2d
Compare
Add isStrictlyResilient() to nominal type and module decl.
|
@swift-ci smoke test |
| return getModuleContext()->isResilient(); | ||
| } | ||
|
|
||
| bool NominalTypeDecl::isStrictlyResilient() const { |
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.
Nitpick: strict is vague when used as an API name. A better alternative could be something like isNonResilientAccessDisallowed()
When package resilience optimization is enabled, global accessor symbols are not added to the SIL symbol list, causing a linker issue.
Resolves rdar://127321129&127308331