forked from OSchip/llvm-project
				
			
		
			
				
	
	
		
			33 lines
		
	
	
		
			462 B
		
	
	
	
		
			C++
		
	
	
	
			
		
		
	
	
			33 lines
		
	
	
		
			462 B
		
	
	
	
		
			C++
		
	
	
	
// RUN: %llvmgxx %s -S -o -
 | 
						|
 | 
						|
// Test anonymous union with members of the same size.
 | 
						|
int test1(float F) {
 | 
						|
  union {
 | 
						|
     float G;
 | 
						|
     int i;
 | 
						|
  };
 | 
						|
  G = F;
 | 
						|
  return i;
 | 
						|
}
 | 
						|
 | 
						|
// test anonymous union with members of differing size.
 | 
						|
int test2(short F) {
 | 
						|
  volatile union {
 | 
						|
     short G;
 | 
						|
     int i;
 | 
						|
  };
 | 
						|
  G = F;
 | 
						|
  return i;
 | 
						|
}
 | 
						|
 | 
						|
// Make sure that normal unions work.  duh :)
 | 
						|
volatile union U_t {
 | 
						|
  short S;
 | 
						|
  int i;
 | 
						|
} U;
 | 
						|
 | 
						|
int test3(short s) {
 | 
						|
  U.S = s;
 | 
						|
  return U.i;
 | 
						|
}
 |