mirror of
				https://github.com/c64scene-ar/llvm-6502.git
				synced 2025-11-04 05:17:07 +00:00 
			
		
		
		
	git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79992 91177308-0d34-0410-b5e6-96231b3b80d8
		
			
				
	
	
		
			18 lines
		
	
	
		
			367 B
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			18 lines
		
	
	
		
			367 B
		
	
	
	
		
			C++
		
	
	
	
	
	
// RUN: %llvmgxx -S %s -o - | llvm-as -o /dev/null
 | 
						|
 | 
						|
// Non-POD classes cannot be passed into a function by component, because their
 | 
						|
// dtors must be run.  Instead, pass them in by reference.  The C++ front-end
 | 
						|
// was mistakenly "thinking" that 'foo' took a structure by component.
 | 
						|
 | 
						|
struct C {
 | 
						|
  int A, B;
 | 
						|
  ~C() {}
 | 
						|
};
 | 
						|
 | 
						|
void foo(C b);
 | 
						|
 | 
						|
void test(C *P) {
 | 
						|
  foo(*P);
 | 
						|
}
 | 
						|
 |