|  | // RUN: %clang_cc1 -mms-bitfields -fsyntax-only -verify -triple x86_64-apple-darwin9 %s | 
|  | // expected-no-diagnostics | 
|  |  | 
|  | // The -mms-bitfields commandline parameter should behave the same | 
|  | // as the ms_struct attribute. | 
|  | struct | 
|  | { | 
|  | int a : 1; | 
|  | short b : 1; | 
|  | } t; | 
|  |  | 
|  | // MS pads out bitfields between different types. | 
|  | static int arr[(sizeof(t) == 8) ? 1 : -1]; | 
|  |  | 
|  | #pragma pack (push,1) | 
|  |  | 
|  | typedef unsigned int UINT32; | 
|  |  | 
|  | struct Inner { | 
|  | UINT32    A    :  1; | 
|  | UINT32    B    :  1; | 
|  | UINT32    C    :  1; | 
|  | UINT32    D    : 30; | 
|  | } Inner; | 
|  |  | 
|  | #pragma pack (pop) | 
|  |  | 
|  | static int arr2[(sizeof(Inner) == 8) ? 1 : -1]; |