12 lines
		
	
	
		
			733 B
		
	
	
	
		
			C++
		
	
	
	
			
		
		
	
	
			12 lines
		
	
	
		
			733 B
		
	
	
	
		
			C++
		
	
	
	
| // RUN: %clang_cc1 -triple s390x-linux-gnu -emit-llvm -x c++ -o - %s | FileCheck %s
 | |
| // RUN: %clang_cc1 -triple s390x-linux-gnu -emit-llvm -x c++ -o - %s -mfloat-abi soft \
 | |
| // RUN:   | FileCheck %s --check-prefix=SOFT-FLOAT
 | |
| 
 | |
| // For compatibility with GCC, this structure is passed in an FPR in C++,
 | |
| // but passed in a GPR in C (checked in systemz-abi.c).
 | |
| 
 | |
| struct agg_float_cpp { float a; int : 0; };
 | |
| struct agg_float_cpp pass_agg_float_cpp(struct agg_float_cpp arg) { return arg; }
 | |
| // CHECK-LABEL: define void @_Z18pass_agg_float_cpp13agg_float_cpp(%struct.agg_float_cpp* noalias sret %{{.*}}, float %{{.*}})
 | |
| // SOFT-FLOAT:  define void @_Z18pass_agg_float_cpp13agg_float_cpp(%struct.agg_float_cpp* noalias sret %{{.*}}, i32 %{{.*}})
 |