[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)
commit871cd4c131e0b635de9cc6519832b43bc899633f
tree11d916d15234ffd47ea5f7f7f9dca954f40a5752
parentb429083aff15c87ddf598fc09309b55bb1299bf1
[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).

llvm-svn: 209552
clang/lib/Sema/SemaTemplate.cpp
clang/test/Modules/Inputs/cxx-templates-a.h
clang/test/Modules/Inputs/cxx-templates-common.h
clang/test/Modules/cxx-templates.cpp