summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/expr/static_cast5.C
blob: 1a51f15167728afa07063d813a7124659b0513ab (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
void ambig()
{
  struct A {};
  struct B : A {};
  struct C : A {};
  struct D : B, C {};

  D d;
  A* ap = static_cast<B*> (&d);
  D* db = static_cast<D*> (ap); // { dg-error "" }
  
  D& dr1 = static_cast<D&> (*ap); // { dg-error "" }
  
  A& ar = static_cast<C&> (d);
  D& dr = static_cast<D&> (ar);  // { dg-error "" }
}