diff options
Diffstat (limited to 'clang/test/SemaCXX/nested-name-spec-locations.cpp')
-rw-r--r-- | clang/test/SemaCXX/nested-name-spec-locations.cpp | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/clang/test/SemaCXX/nested-name-spec-locations.cpp b/clang/test/SemaCXX/nested-name-spec-locations.cpp index f0f42f754cb..e4dd6cf9861 100644 --- a/clang/test/SemaCXX/nested-name-spec-locations.cpp +++ b/clang/test/SemaCXX/nested-name-spec-locations.cpp @@ -40,3 +40,24 @@ struct UnresolvedUsingTypenameDeclTester { UnresolvedUsingTypenameDeclTester<int> UnresolvedUsingTypenameDeclCheck; // expected-note{{in instantiation of template class}} + +template<typename T, typename U> +struct PseudoDestructorExprTester { + void f(T *t) { + t->T::template Inner<typename add_reference<U>::type + * // expected-error{{as a pointer to a reference of type}} + >::Blarg::~Blarg(); + } +}; + +struct HasInnerTemplate { + template<typename T> + struct Inner; + + typedef HasInnerTemplate T; +}; + +void PseudoDestructorExprCheck( + PseudoDestructorExprTester<HasInnerTemplate, float> tester) { + tester.f(0); // expected-note{{in instantiation of member function}} +} |