| // 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]; |