]> granicus.if.org Git - clang/commit
[modules] Sometimes we can deserialize a class member but not have yet
authorRichard Smith <richard-llvm@metafoo.co.uk>
Sat, 24 Jan 2015 01:07:20 +0000 (01:07 +0000)
committerRichard Smith <richard-llvm@metafoo.co.uk>
Sat, 24 Jan 2015 01:07:20 +0000 (01:07 +0000)
commit8ff60edd11d3f6740018e18f89836d15fd4cd65e
tree022e49bdbebf7f1ed6b1868252f37cbb7ad7fb73
parent6881233a535f559ead8c39f243b014c1b9cd96ed
[modules] Sometimes we can deserialize a class member but not have yet
encountered any definition for the class; this happens when the definition is
added by an update record that is not yet loaded. In such a case, eagerly pick
the original parent of the member as the canonical definition of the class
rather than muddling through with the canonical declaration (the latter can
lead to us failing to merge properly later if the canonical definition turns
out to be some other declaration).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@226977 91177308-0d34-0410-b5e6-96231b3b80d8
include/clang/Serialization/ASTReader.h
lib/AST/ASTDumper.cpp
lib/Serialization/ASTReader.cpp
lib/Serialization/ASTReaderDecl.cpp
test/Modules/Inputs/merge-nested-templates/a.h [new file with mode: 0644]
test/Modules/Inputs/merge-nested-templates/b.h [new file with mode: 0644]
test/Modules/Inputs/merge-nested-templates/c.h [new file with mode: 0644]
test/Modules/Inputs/merge-nested-templates/module.modulemap [new file with mode: 0644]
test/Modules/Inputs/merge-nested-templates/string.ii [new file with mode: 0644]
test/Modules/merge-nested-templates.cpp [new file with mode: 0644]