p4.cpp revision 6b5a61b6dc400027fd793dcadceeb9da944a37ea
1// RUN: %clang_cc1 -ast-dump %s | FileCheck %s
2
3struct A { int x; };
4struct B { int y; };
5struct C : A, B { };
6
7// CHECK: casting_away_constness
8void 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