When merging class definitions across modules in C++, merge together fields.
authorRichard Smith <richard-llvm@metafoo.co.uk>
Mon, 7 Oct 2013 08:02:11 +0000 (08:02 +0000)
committerRichard Smith <richard-llvm@metafoo.co.uk>
Mon, 7 Oct 2013 08:02:11 +0000 (08:02 +0000)
commit4ed0122c1b795379cc4e11dfd62312358dcbf506
treec8ad780cc66961db94dcf8fe0a895770180795b3
parentfcb448a70d796c1cfabeb6f9456526c594848568
When merging class definitions across modules in C++, merge together fields.
This change doesn't go all the way to making fields redeclarable; instead, it
makes them 'mergeable', which means we can find the canonical declaration, but
not much else (and for a declaration that's not from a module, the canonical
declaration is always that declaration).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@192092 91177308-0d34-0410-b5e6-96231b3b80d8
include/clang/AST/ASTContext.h
include/clang/AST/Decl.h
include/clang/AST/Redeclarable.h
lib/AST/Decl.cpp
lib/Serialization/ASTReaderDecl.cpp
test/Modules/Inputs/templates-left.h
test/Modules/Inputs/templates-right.h
test/Modules/Inputs/templates-top.h
test/Modules/templates.mm