mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
ABIChecker: exclude decls with the @_alwaysEmitIntoClient attribute
Removing or updating @_alwaysEmitIntoClient functions are never ABI-breaking, thus we should exclude them from the symbol set for ABI stability checking. rdar://67883661
This commit is contained in:
@@ -1603,6 +1603,11 @@ SDKContext::shouldIgnore(Decl *D, const Decl* Parent) const {
|
||||
if (isa<TypeAliasDecl>(VD))
|
||||
return true;
|
||||
}
|
||||
// Exclude decls with @_alwaysEmitIntoClient if we are checking ABI.
|
||||
// These decls are considered effectively public because they are usable
|
||||
// from inline, so we have to manually exclude them here.
|
||||
if (D->getAttrs().hasAttribute<AlwaysEmitIntoClientAttr>())
|
||||
return true;
|
||||
} else {
|
||||
if (D->isPrivateStdlibDecl(false))
|
||||
return true;
|
||||
|
||||
Reference in New Issue
Block a user