diff --git a/clang/lib/Serialization/ASTWriter.cpp b/clang/lib/Serialization/ASTWriter.cpp index 234615522e773..4154584cc30e2 100644 --- a/clang/lib/Serialization/ASTWriter.cpp +++ b/clang/lib/Serialization/ASTWriter.cpp @@ -4444,6 +4444,7 @@ class ASTDeclContextNameLookupTrait }; ASTReader *Chain = Writer.getChain(); for (NamedDecl *D : Decls) { + AddDecl(D); if (Chain && isa(D) && D->isFromASTFile() && D == Chain->getKeyDeclaration(D)) { // In ASTReader, we stored only the key declaration of a namespace decl @@ -4456,8 +4457,6 @@ class ASTDeclContextNameLookupTrait Chain->forEachImportedKeyDecl(D, [&AddDecl](const Decl *D) { AddDecl(cast(const_cast(D))); }); - } else { - AddDecl(D); } } return std::make_pair(Start, DeclIDs.size());