]> granicus.if.org Git - clang/commit
[modules] If a referenced-but-not-instantiated class template specialization
authorRichard Smith <richard-llvm@metafoo.co.uk>
Fri, 23 May 2014 21:00:28 +0000 (21:00 +0000)
committerRichard Smith <richard-llvm@metafoo.co.uk>
Fri, 23 May 2014 21:00:28 +0000 (21:00 +0000)
commit3ccca48c69e96f10485bc7eda0a1531dee22b775
tree8b0c99d7a58b8108ad54a2348a9b4604dccd45a1
parent63c42894e3cccbd159b94d49c823f8a4c07ca548
[modules] If a referenced-but-not-instantiated class template specialization
gets explicitly specialized, don't reuse the previous class template
specialization declaration as a new declaration. The benefit here is fairly
marginal, it harms source fidelity, and this is horrible to model if the
specialization was imported from another module (without this change, it
asserts or worse).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@209552 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Sema/SemaTemplate.cpp
test/Modules/Inputs/cxx-templates-a.h
test/Modules/Inputs/cxx-templates-common.h
test/Modules/cxx-templates.cpp