forked from OSchip/llvm-project
				
			
		
			
				
	
	
		
			92 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			C
		
	
	
	
			
		
		
	
	
			92 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			C
		
	
	
	
| // RUN: %clang_cc1 -emit-llvm-only  -triple x86_64-apple-darwin9 %s
 | |
| // rdar://8823265
 | |
| 
 | |
| #define ATTR __attribute__((__ms_struct__))
 | |
| 
 | |
| struct {
 | |
|   unsigned int bf_1 : 12;
 | |
|   unsigned int : 0;
 | |
|   unsigned int bf_2 : 12;
 | |
| } ATTR t1;
 | |
| static int a1[(sizeof(t1) == 8) -1];
 | |
| 
 | |
| struct
 | |
| {
 | |
|   char foo : 4;
 | |
|   short : 0;
 | |
|   char bar;
 | |
| } ATTR t2;
 | |
| static int a2[(sizeof(t2) == 4) -1];
 | |
| 
 | |
| #pragma ms_struct on
 | |
| struct
 | |
| {
 | |
|   char foo : 4;
 | |
|   short : 0;
 | |
|   char bar;
 | |
| } t3;
 | |
| #pragma ms_struct off
 | |
| static int a3[(sizeof(t3) == 4) -1];
 | |
| 
 | |
| struct
 | |
| {
 | |
|   char foo : 6;
 | |
|   long : 0;
 | |
| } ATTR t4;
 | |
| static int a4[(sizeof(t4) == 8) -1];
 | |
| 
 | |
| struct
 | |
| {
 | |
|   char foo : 4;
 | |
|   short : 0;
 | |
|   char bar : 8;
 | |
| } ATTR t5;
 | |
| static int a5[(sizeof(t5) == 4) -1];
 | |
| 
 | |
| struct
 | |
| {
 | |
|   char foo : 4;
 | |
|   short : 0;
 | |
|   long  : 0;
 | |
|   char bar;
 | |
| } ATTR t6;
 | |
| static int a6[(sizeof(t6) == 4) -1];
 | |
| 
 | |
| struct
 | |
| {
 | |
|   char foo : 4;
 | |
|   long  : 0;
 | |
|   short : 0;
 | |
|   char bar;
 | |
| } ATTR t7;
 | |
| static int a7[(sizeof(t7) == 16) -1];
 | |
| 
 | |
| struct
 | |
| {
 | |
|   char foo : 4;
 | |
|   short : 0;
 | |
|   long  : 0;
 | |
|   char bar:7;
 | |
| } ATTR t8;
 | |
| static int a8[(sizeof(t8) == 4) -1];
 | |
| 
 | |
| struct
 | |
| {
 | |
|   char foo : 4;
 | |
|   long  : 0;
 | |
|   short : 0;
 | |
|   char bar: 8;
 | |
| } ATTR t9;
 | |
| static int a9[(sizeof(t9) == 16) -1];
 | |
| 
 | |
| struct
 | |
| {
 | |
|   char foo : 4;
 | |
|   char : 0;
 | |
|   short : 0;
 | |
|   int : 0;
 | |
|   long  :0;
 | |
|   char bar;
 | |
| } ATTR t10;
 | |
| static int a10[(sizeof(t10) == 2) -1];
 |