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