new
From-SVN: r34685
This commit is contained in:
parent
aaa52048c2
commit
5840d6e4f5
2 changed files with 40 additions and 0 deletions
19
gcc/testsuite/g++.old-deja/g++.other/friend6.C
Normal file
19
gcc/testsuite/g++.old-deja/g++.other/friend6.C
Normal file
|
@ -0,0 +1,19 @@
|
|||
// Origin: Martin v. Löwis <loewis@informatik.hu-berlin.de>
|
||||
// Test for resolution of core issue 125.
|
||||
// Build don't link:
|
||||
|
||||
struct A{
|
||||
struct B{};
|
||||
};
|
||||
|
||||
A::B C();
|
||||
|
||||
namespace B{
|
||||
A C();
|
||||
}
|
||||
|
||||
class Test{
|
||||
friend A (::B::C)(); // Ok
|
||||
friend A::B (::C)(); // Ok
|
||||
friend A::B::C(); // ERROR - no A::B::C
|
||||
};
|
21
gcc/testsuite/g++.old-deja/g++.other/friend7.C
Normal file
21
gcc/testsuite/g++.old-deja/g++.other/friend7.C
Normal file
|
@ -0,0 +1,21 @@
|
|||
// Origin: Martin v. Löwis <loewis@informatik.hu-berlin.de>
|
||||
// Test that a friend declaration with an explicit :: finds the right fn.
|
||||
// Build don't link:
|
||||
|
||||
namespace M {
|
||||
class S;
|
||||
}
|
||||
void foo(M::S *);
|
||||
|
||||
namespace M {
|
||||
class S {
|
||||
friend void (::foo)(S *);
|
||||
void Fn();
|
||||
static S s;
|
||||
};
|
||||
}
|
||||
|
||||
void (::foo)(M::S *ptr) {
|
||||
M::S::s.Fn();
|
||||
ptr->Fn();
|
||||
}
|
Loading…
Add table
Reference in a new issue