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