forked from OSchip/llvm-project
				
			
		
			
				
	
	
		
			24 lines
		
	
	
		
			644 B
		
	
	
	
		
			C++
		
	
	
	
			
		
		
	
	
			24 lines
		
	
	
		
			644 B
		
	
	
	
		
			C++
		
	
	
	
// 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;
 | 
						|
}
 |