summaryrefslogtreecommitdiffstats
path: root/clang/lib/Serialization
diff options
context:
space:
mode:
authorRichard Smith <richard-llvm@metafoo.co.uk>2013-10-13 23:50:45 +0000
committerRichard Smith <richard-llvm@metafoo.co.uk>2013-10-13 23:50:45 +0000
commitd46d6dea68aa2c0978ad00fe7f57b1a142deda98 (patch)
tree69ec447e87aa3598f57b6c8993886f37c0cfdb31 /clang/lib/Serialization
parentf39720b26e8dc6c36df0860529fc850573a2cbd7 (diff)
downloadbcm5719-llvm-d46d6dea68aa2c0978ad00fe7f57b1a142deda98.tar.gz
bcm5719-llvm-d46d6dea68aa2c0978ad00fe7f57b1a142deda98.zip
Merge common pointers for redeclarations of the same template across modules.
llvm-svn: 192560
Diffstat (limited to 'clang/lib/Serialization')
-rw-r--r--clang/lib/Serialization/ASTReaderDecl.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/clang/lib/Serialization/ASTReaderDecl.cpp b/clang/lib/Serialization/ASTReaderDecl.cpp
index 341f8eb068d..2a1ac11ec04 100644
--- a/clang/lib/Serialization/ASTReaderDecl.cpp
+++ b/clang/lib/Serialization/ASTReaderDecl.cpp
@@ -1429,6 +1429,11 @@ ASTDeclReader::VisitRedeclarableTemplateDecl(RedeclarableTemplateDecl *D) {
mergeRedeclarable(D, Redecl);
+ // If we merged the template with a prior declaration chain, merge the common
+ // pointer.
+ // FIXME: Actually merge here, don't just overwrite.
+ D->Common = D->getCanonicalDecl()->Common;
+
return Redecl;
}
OpenPOWER on IntegriCloud