[Macros] Private discriminators for outermost-private MacroExpansionDecl (#64813)

Add a private discriminator to the mangling of an outermost-private `MacroExpansionDecl` so that declaration macros in different files won't have colliding macro expansion buffer names.

rdar://107462515
This commit is contained in:
Richard Wei
2023-03-31 20:36:29 -07:00
committed by GitHub
parent 77bd312a88
commit eb8e984b97
24 changed files with 84 additions and 49 deletions

View File

@@ -1320,7 +1320,7 @@ ModuleFile::getGroupNameByUSR(StringRef USR) const {
return None;
}
Identifier ModuleFile::getDiscriminatorForPrivateValue(const ValueDecl *D) {
Identifier ModuleFile::getDiscriminatorForPrivateDecl(const Decl *D) {
Identifier discriminator = PrivateDiscriminatorsByValue.lookup(D);
assert(!discriminator.empty() && "no discriminator found for decl");
return discriminator;