Home | History | Annotate | Download | only in expr.cast
      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