repo.or.cz
/
official-gcc.git
/
blob
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
log
|
graphiclog1
|
graphiclog2
|
commit
|
commitdiff
|
tree
|
refs
|
edit
|
fork
blame
|
history
|
raw
|
HEAD
2003-12-26 Guilhem Lavaux <guilhem@kaffe.org>
[official-gcc.git]
/
gcc
/
testsuite
/
g++.old-deja
/
g++.robertl
/
eb46.C
blob
0a233d358f029090b10aa45abb1c65da8ec310c7
1
// { dg-do run }
2
#include <iostream>
3
4
class A1 {
5
friend class B;
6
public:
7
virtual void foo() {};
8
};
9
10
class A2 : public virtual A1 {friend class B;};
11
12
class A3 : public virtual A1, private A2 {friend class B;};
13
14
class B
15
{
16
public:
17
B(A1* a) : itsA(dynamic_cast<A2*>(a)) {};
18
A2* itsA;
19
};
20
21
int main()
22
{
23
A1* a=new A3;
24
B b(a);
25
26
if (b.itsA)
27
std::cout << "cast ok" << std::endl;
28
else
29
std::cout << "cast failed" << std::endl;
30
return 0;
31
}