]> granicus.if.org Git - clang/commit
Re-implement (de-)serialization of redeclaration chains for
authorDouglas Gregor <dgregor@apple.com>
Mon, 19 Dec 2011 18:19:24 +0000 (18:19 +0000)
committerDouglas Gregor <dgregor@apple.com>
Mon, 19 Dec 2011 18:19:24 +0000 (18:19 +0000)
commitf63b0a5f5445830a845895ee16f3affeaffd2e9d
tree9a582112577567f9e6b4583530d91304e47c1568
parent79ac2da646ed6285fc64d6c9e7ba13f1f237be0d
Re-implement (de-)serialization of redeclaration chains for
redeclaration templates (RedeclarableTemplateDecl), similarly to the
way (de-)serialization is implemented for Redeclarable<T>. In the
process, found a simpler formulation for handling redeclaration
chains and implemented that in both places.

The new test establishes that we're building the redeclaration chains
properly. However, the FIXME indicates where we're tickling a
different bug that has to do with us not setting the DefinitionData
pointer properly in redeclarations that we detected after the
definition itself was deserialized. The (separable) fix for that bug
is forthcoming.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146883 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Serialization/ASTReaderDecl.cpp
lib/Serialization/ASTWriterDecl.cpp
test/Modules/Inputs/redecl-merge-bottom.h
test/Modules/Inputs/redecl-merge-left.h
test/Modules/Inputs/redecl-merge-right.h
test/Modules/Inputs/redecl-merge-top.h
test/Modules/redecl-merge.m