forked from OSchip/llvm-project
				
			
		
			
				
	
	
		
			55 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			C
		
	
	
	
			
		
		
	
	
			55 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			C
		
	
	
	
// RUN: %clang_cc1 -emit-llvm %s -o %t
 | 
						|
 | 
						|
// From GCC PR19331
 | 
						|
struct SysParams
 | 
						|
{
 | 
						|
 unsigned short tag;
 | 
						|
 unsigned short version;
 | 
						|
 unsigned int seqnum;
 | 
						|
 int contrast;
 | 
						|
 int igain_1, igain_2;
 | 
						|
 int oattn_1, oattn_2;
 | 
						|
 int max_out_vltg_1, max_out_vltg_2;
 | 
						|
 int max_mains_current;
 | 
						|
 int meters_mode;
 | 
						|
 int input_select;
 | 
						|
 _Bool input_parallelch2:1;
 | 
						|
 _Bool cliplmt_ch1:1;
 | 
						|
 _Bool cliplmt_ch2:1;
 | 
						|
 _Bool gate_ch1:1;
 | 
						|
 _Bool gate_ch2:1;
 | 
						|
 _Bool mute_ch1:1;
 | 
						|
 _Bool mute_ch2:1;
 | 
						|
 _Bool brownout:1;
 | 
						|
 _Bool power_on:1;
 | 
						|
 _Bool pwrup_mute:1;
 | 
						|
 _Bool keylock:1;
 | 
						|
 _Bool dsp_ch1:1;
 | 
						|
 _Bool dsp_ch2:1;
 | 
						|
 int dsp_preset;
 | 
						|
 long unlock_code;
 | 
						|
};
 | 
						|
extern struct SysParams params;
 | 
						|
 | 
						|
void foo(void *);
 | 
						|
void kcmd_setParams(void)
 | 
						|
{
 | 
						|
 struct {
 | 
						|
  unsigned char igain_1;
 | 
						|
  unsigned char igain_2;
 | 
						|
  unsigned char max_out_vltg_1;
 | 
						|
  unsigned char max_out_vltg_2;
 | 
						|
  unsigned char max_imains;
 | 
						|
  unsigned char cliplmt_ch1:1;
 | 
						|
  unsigned char cliplmt_ch2:1;
 | 
						|
  unsigned char gate_ch1:1;
 | 
						|
  unsigned char gate_ch2:1;
 | 
						|
 } msg;
 | 
						|
 foo(&msg);
 | 
						|
 params.cliplmt_ch1 = msg.cliplmt_ch1;
 | 
						|
 params.cliplmt_ch2 = msg.cliplmt_ch2;
 | 
						|
 params.gate_ch1 = msg.gate_ch1;
 | 
						|
 params.gate_ch2 = msg.gate_ch2;
 | 
						|
}
 | 
						|
 |