2013-07-18 04:46:03 +08:00
|
|
|
// RUN: %clang_cc1 -fno-rtti -emit-llvm-only -triple i686-pc-win32 -fdump-record-layouts -fsyntax-only -mms-bitfields -verify %s 2>&1
|
|
|
|
|
|
|
|
struct A {
|
2015-09-15 05:27:36 +08:00
|
|
|
char a : 9; // expected-error{{width of bit-field 'a' (9 bits) exceeds width of its type (8 bits)}}
|
|
|
|
int b : 33; // expected-error{{width of bit-field 'b' (33 bits) exceeds width of its type (32 bits)}}
|
2015-09-15 09:00:55 +08:00
|
|
|
bool c : 9; // expected-error{{width of bit-field 'c' (9 bits) exceeds width of its type (8 bits)}}
|
2015-09-15 10:36:41 +08:00
|
|
|
bool d : 3; // expected-warning{{width of bit-field 'd' (3 bits) exceeds the width of its type; value will be truncated to 1 bit}}
|
2013-07-18 04:46:03 +08:00
|
|
|
};
|
|
|
|
|
|
|
|
int a[sizeof(A) == 1 ? 1 : -1];
|