-Add package-cmo check to bypassResilienceInPackage method.

-Fix SILDeclRef getLinkageLimit() for GlobalAccessor to return
Limit::None if bypassResilienceInPackage is enabled.
This commit is contained in:
Ellie Shin
2024-05-15 15:35:40 -07:00
parent 2d81d0f2c7
commit e632c5ec96
3 changed files with 37 additions and 29 deletions

View File

@@ -460,8 +460,12 @@ static LinkageLimit getLinkageLimit(SILDeclRef constant) {
case Kind::EnumElement:
return Limit::OnDemand;
case Kind::GlobalAccessor:
return cast<VarDecl>(d)->isResilient() ? Limit::NeverPublic : Limit::None;
case Kind::GlobalAccessor: {
auto varDecl = cast<VarDecl>(d);
return varDecl->isResilient() &&
!varDecl->getModuleContext()->allowNonResilientAccess() ?
Limit::NeverPublic : Limit::None;
}
case Kind::DefaultArgGenerator:
// If the default argument is to be serialized, only use non-ABI public