diff options
Diffstat (limited to 'clang/test/SemaTemplate/ms-lookup-template-base-classes.cpp')
-rw-r--r-- | clang/test/SemaTemplate/ms-lookup-template-base-classes.cpp | 27 |
1 files changed, 26 insertions, 1 deletions
diff --git a/clang/test/SemaTemplate/ms-lookup-template-base-classes.cpp b/clang/test/SemaTemplate/ms-lookup-template-base-classes.cpp index cc5edf7997a..901f104ec36 100644 --- a/clang/test/SemaTemplate/ms-lookup-template-base-classes.cpp +++ b/clang/test/SemaTemplate/ms-lookup-template-base-classes.cpp @@ -97,4 +97,29 @@ void foo() b.g2(); // expected-note {{required here}} } -}
\ No newline at end of file +} + + +namespace lookup_dependent_base_class_friend { + +template <class T> +class B { +public: + static void g(); // expected-note {{must qualify identifier to find this declaration in dependent base class}} +}; + +template <class T> +class A : public B<T> { +public: + friend void foo(A<T> p){ + g(); // expected-warning {{use of identifier 'g' found via unqualified lookup into dependent bases of class templates is a Microsoft extension}} + } +}; + +int main2() +{ + A<int> a; + foo(a); // expected-note {{requested here}} +} + +} |