From 20fbdb347cf6324e6e8d3f4aa1d0b1ab02f70e8d Mon Sep 17 00:00:00 2001 From: Richard Smith Date: Wed, 12 Sep 2018 02:13:46 +0000 Subject: Fix tracking of merged definitions when the merge target is also merged into something else. llvm-svn: 342017 --- clang/lib/AST/ASTContext.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'clang/lib') diff --git a/clang/lib/AST/ASTContext.cpp b/clang/lib/AST/ASTContext.cpp index ab2a95e577f..0ed52ffd351 100644 --- a/clang/lib/AST/ASTContext.cpp +++ b/clang/lib/AST/ASTContext.cpp @@ -933,13 +933,13 @@ void ASTContext::mergeDefinitionIntoModule(NamedDecl *ND, Module *M, Listener->RedefinedHiddenDefinition(ND, M); if (getLangOpts().ModulesLocalVisibility) - MergedDefModules[ND].push_back(M); + MergedDefModules[cast(ND->getCanonicalDecl())].push_back(M); else ND->setVisibleDespiteOwningModule(); } void ASTContext::deduplicateMergedDefinitonsFor(NamedDecl *ND) { - auto It = MergedDefModules.find(ND); + auto It = MergedDefModules.find(cast(ND->getCanonicalDecl())); if (It == MergedDefModules.end()) return; -- cgit v1.2.3