summaryrefslogtreecommitdiffstats
path: root/clang/test/Modules/Inputs/cxx-templates-common.h
diff options
context:
space:
mode:
authorRichard Smith <richard-llvm@metafoo.co.uk>2014-05-23 21:00:28 +0000
committerRichard Smith <richard-llvm@metafoo.co.uk>2014-05-23 21:00:28 +0000
commit871cd4c131e0b635de9cc6519832b43bc899633f (patch)
tree11d916d15234ffd47ea5f7f7f9dca954f40a5752 /clang/test/Modules/Inputs/cxx-templates-common.h
parentb429083aff15c87ddf598fc09309b55bb1299bf1 (diff)
downloadbcm5719-llvm-871cd4c131e0b635de9cc6519832b43bc899633f.tar.gz
bcm5719-llvm-871cd4c131e0b635de9cc6519832b43bc899633f.zip
[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
Diffstat (limited to 'clang/test/Modules/Inputs/cxx-templates-common.h')
-rw-r--r--clang/test/Modules/Inputs/cxx-templates-common.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/clang/test/Modules/Inputs/cxx-templates-common.h b/clang/test/Modules/Inputs/cxx-templates-common.h
index a31be8758cc..986c52b362c 100644
--- a/clang/test/Modules/Inputs/cxx-templates-common.h
+++ b/clang/test/Modules/Inputs/cxx-templates-common.h
@@ -33,3 +33,6 @@ template<typename T> struct Outer {
template<typename T> struct WithPartialSpecialization {};
typedef WithPartialSpecialization<int*> WithPartialSpecializationUse;
+
+template<typename T> struct WithExplicitSpecialization;
+typedef WithExplicitSpecialization<int> WithExplicitSpecializationUse;
OpenPOWER on IntegriCloud