33 lines
		
	
	
		
			472 B
		
	
	
	
		
			C++
		
	
	
	
			
		
		
	
	
			33 lines
		
	
	
		
			472 B
		
	
	
	
		
			C++
		
	
	
	
| // RUN: %clang_cc1 %s -emit-llvm -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;
 | |
| }
 |