]> granicus.if.org Git - clang/commitdiff
Allocate after the early exit checks. NFC.
authorVassil Vassilev <v.g.vassilev@gmail.com>
Thu, 6 Oct 2016 13:18:06 +0000 (13:18 +0000)
committerVassil Vassilev <v.g.vassilev@gmail.com>
Thu, 6 Oct 2016 13:18:06 +0000 (13:18 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@283448 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Serialization/ASTReaderDecl.cpp

index 9147f925dfd18448116b911e6b7545bd13107b6a..19113da7e3c5e842b59002020f1cec171188ee26 100644 (file)
@@ -2320,8 +2320,6 @@ template<typename T>
 void ASTDeclReader::mergeRedeclarable(Redeclarable<T> *DBase,
                                       RedeclarableResult &Redecl,
                                       DeclID TemplatePatternID) {
-  T *D = static_cast<T*>(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<T> *DBase,
   if (!DBase->isFirstDecl())
     return;
 
+  T *D = static_cast<T*>(DBase);
+
   if (auto *Existing = Redecl.getKnownMergeTarget())
     // We already know of an existing declaration we should merge with.
     mergeRedeclarable(D, cast<T>(Existing), Redecl, TemplatePatternID);