| // RUN: %clang_cc1 -ast-dump %s | FileCheck %s |
| |
| struct A { int x; }; |
| struct B { int y; }; |
| struct C : A, B { }; |
| |
| // CHECK: casting_away_constness |
| void casting_away_constness(const B &b, const C &c, const B *bp, const C *cp) { |
| // CHECK: DerivedToBase (B) |
| // CHECK: DeclRefExpr {{.*}} ParmVar {{.*}} 'c' |
| (void)(B&)c; |
| // CHECK: BaseToDerived (B) |
| // CHECK: DeclRefExpr {{.*}} ParmVar {{.*}} 'b' |
| (void)(C&)b; |
| // CHECK: DerivedToBase (B) |
| // CHECK: DeclRefExpr {{.*}} ParmVar {{.*}} 'cp' |
| (void)(B*)cp; |
| // CHECK: BaseToDerived (B) |
| // CHECK: DeclRefExpr {{.*}} ParmVar {{.*}} 'bp' |
| (void)(C*)bp; |
| // CHECK: ReturnStmt |
| return; |
| } |