diff options
Diffstat (limited to 'test/SemaCXX/friend.cpp')
-rw-r--r-- | test/SemaCXX/friend.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/test/SemaCXX/friend.cpp b/test/SemaCXX/friend.cpp index c5b11eb..b401a06 100644 --- a/test/SemaCXX/friend.cpp +++ b/test/SemaCXX/friend.cpp @@ -138,3 +138,19 @@ namespace test7 { }; } } + +// PR15485 +namespace test8 { + namespace ns1 { + namespace ns2 { + template<class T> void f(T t); // expected-note {{target of using declaration}} + } + using ns2::f; // expected-note {{using declaration}} + } + struct A { void f(); }; // expected-note {{target of using declaration}} + struct B : public A { using A::f; }; // expected-note {{using declaration}} + struct X { + template<class T> friend void ns1::f(T t); // expected-error {{cannot befriend target of using declaration}} + friend void B::f(); // expected-error {{cannot befriend target of using declaration}} + }; +} |