1 // RUN: %clang_cc1 -ast-dump %s | FileCheck %s 2 3 struct A { int x; }; 4 struct B { int y; }; 5 struct C : A, B { }; 6 7 // CHECK: casting_away_constness 8 void casting_away_constness(const B &b, const C &c, const B *bp, const C *cp) { 9 // CHECK: DerivedToBase (B) 10 // CHECK: DeclRefExpr {{.*}} ParmVar {{.*}} 'c' 11 (void)(B&)c; 12 // CHECK: BaseToDerived (B) 13 // CHECK: DeclRefExpr {{.*}} ParmVar {{.*}} 'b' 14 (void)(C&)b; 15 // CHECK: DerivedToBase (B) 16 // CHECK: DeclRefExpr {{.*}} ParmVar {{.*}} 'cp' 17 (void)(B*)cp; 18 // CHECK: BaseToDerived (B) 19 // CHECK: DeclRefExpr {{.*}} ParmVar {{.*}} 'bp' 20 (void)(C*)bp; 21 // CHECK: ReturnStmt 22 return; 23 } 24