]> granicus.if.org Git - clang/commit
[modules] When we merge together multiple class template specialization
authorRichard Smith <richard-llvm@metafoo.co.uk>
Thu, 14 Aug 2014 02:21:01 +0000 (02:21 +0000)
committerRichard Smith <richard-llvm@metafoo.co.uk>
Thu, 14 Aug 2014 02:21:01 +0000 (02:21 +0000)
commitf2e6053ef753b2b36f098470af3ca301d65321db
treee910bb3583d972b62e7bcb34210474be434612f4
parent30c130110e46b23195e77c39ab1a05bf31abf21c
[modules] When we merge together multiple class template specialization
definitions (because some other declaration declares a special member that
isn't present in the canonical definition), we need to search *all* of them; we
can't just stop when we find the requested name in any of the definitions,
because that can fail to find things (and in particular, it can fail to find
the member of the canonical declaration and return a bogus ODR failure).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@215612 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Serialization/ASTReader.cpp
lib/Serialization/ASTWriter.cpp
test/Modules/Inputs/cxx-templates-a.h
test/Modules/Inputs/cxx-templates-b.h
test/Modules/Inputs/cxx-templates-common.h
test/Modules/cxx-templates.cpp