From b3ebb5569a1c24dac433bb8bf6fe8d3474b04873 Mon Sep 17 00:00:00 2001 From: Vassil Vassilev Date: Thu, 6 Oct 2016 13:18:06 +0000 Subject: [PATCH] Allocate after the early exit checks. NFC. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@283448 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Serialization/ASTReaderDecl.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/Serialization/ASTReaderDecl.cpp b/lib/Serialization/ASTReaderDecl.cpp index 9147f925df..19113da7e3 100644 --- a/lib/Serialization/ASTReaderDecl.cpp +++ b/lib/Serialization/ASTReaderDecl.cpp @@ -2320,8 +2320,6 @@ template void ASTDeclReader::mergeRedeclarable(Redeclarable *DBase, RedeclarableResult &Redecl, DeclID TemplatePatternID) { - T *D = static_cast(DBase); - // If modules are not available, there is no reason to perform this merge. if (!Reader.getContext().getLangOpts().Modules) return; @@ -2330,6 +2328,8 @@ void ASTDeclReader::mergeRedeclarable(Redeclarable *DBase, if (!DBase->isFirstDecl()) return; + T *D = static_cast(DBase); + if (auto *Existing = Redecl.getKnownMergeTarget()) // We already know of an existing declaration we should merge with. mergeRedeclarable(D, cast(Existing), Redecl, TemplatePatternID); -- 2.40.0