aboutsummaryrefslogtreecommitdiff
path: root/test/SemaCXX/nested-name-spec-locations.cpp
diff options
context:
space:
mode:
authorDouglas Gregor <dgregor@apple.com>2011-03-02 17:09:35 +0000
committerDouglas Gregor <dgregor@apple.com>2011-03-02 17:09:35 +0000
commitb6744efecba58792cce20d2d7b9ee39927c5422e (patch)
tree470ae4a6d4f93a14be79365283c811848ff9d26f /test/SemaCXX/nested-name-spec-locations.cpp
parent46bb4f1a3ac9517406887939612eb8df4b7be006 (diff)
Push nested-name-specifier source location information into template
template arguments. I believe that this is the last place in the AST where we were storing a source range for a nested-name-specifier rather than a proper nested-name-specifier location structure. (Yay!) There is still a lot of cleanup to do in the TreeTransform, which doesn't take advantage of nested-name-specifiers with source-location information everywhere it could. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126844 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/SemaCXX/nested-name-spec-locations.cpp')
-rw-r--r--test/SemaCXX/nested-name-spec-locations.cpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/test/SemaCXX/nested-name-spec-locations.cpp b/test/SemaCXX/nested-name-spec-locations.cpp
index d543f335e7..6398e249a4 100644
--- a/test/SemaCXX/nested-name-spec-locations.cpp
+++ b/test/SemaCXX/nested-name-spec-locations.cpp
@@ -128,3 +128,21 @@ struct DependentTemplateSpecializationTypeTester4 {
};
DependentTemplateSpecializationTypeTester4<HasApply, int> DTSTCheck4; // expected-note{{in instantiation of template class}}
+
+template<template<class T> class TTP>
+struct AcceptedTemplateTemplateParameter {
+};
+
+template<typename T, typename U>
+struct DependentTemplateTemplateArgumentTester {
+ typedef AcceptedTemplateTemplateParameter<
+ T::
+ template apply<
+ typename add_reference<U>::type
+ * // expected-error{{declared as a pointer to a reference of type}}
+ >::
+ template X>
+ type;
+};
+
+DependentTemplateTemplateArgumentTester<HasApply, int> DTTACheck; // expected-note{{in instantiation of template class}}