diff options
Diffstat (limited to 'gcc/testsuite/g++.dg/expr/static_cast5.C')
-rw-r--r-- | gcc/testsuite/g++.dg/expr/static_cast5.C | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.dg/expr/static_cast5.C b/gcc/testsuite/g++.dg/expr/static_cast5.C new file mode 100644 index 00000000000..1a51f151677 --- /dev/null +++ b/gcc/testsuite/g++.dg/expr/static_cast5.C @@ -0,0 +1,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 "" } +} + |