diff options
author | Vassil Vassilev <v.g.vassilev@gmail.com> | 2016-10-06 13:18:06 +0000 |
---|---|---|
committer | Vassil Vassilev <v.g.vassilev@gmail.com> | 2016-10-06 13:18:06 +0000 |
commit | 916d8be2528e73dc0d6d8a07a154753c51849086 (patch) | |
tree | bb53db7c1d50f3efbf81562ecb199f0892e7dcc3 /clang/lib/Serialization/ASTReaderDecl.cpp | |
parent | 28c63d3ed82e45cf87cbf8a6d4b7d4348b803d46 (diff) | |
download | bcm5719-llvm-916d8be2528e73dc0d6d8a07a154753c51849086.tar.gz bcm5719-llvm-916d8be2528e73dc0d6d8a07a154753c51849086.zip |
Allocate after the early exit checks. NFC.
llvm-svn: 283448
Diffstat (limited to 'clang/lib/Serialization/ASTReaderDecl.cpp')
-rw-r--r-- | clang/lib/Serialization/ASTReaderDecl.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/clang/lib/Serialization/ASTReaderDecl.cpp b/clang/lib/Serialization/ASTReaderDecl.cpp index 9147f925dfd..19113da7e3c 100644 --- a/clang/lib/Serialization/ASTReaderDecl.cpp +++ b/clang/lib/Serialization/ASTReaderDecl.cpp @@ -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); |