Reid Kleckner | 736bc98 | 2013-07-17 20:46:03 +0000 | [diff] [blame] | 1 | // RUN: %clang_cc1 -fno-rtti -emit-llvm-only -triple i686-pc-win32 -fdump-record-layouts -fsyntax-only -mms-bitfields -verify %s 2>&1 |
| 2 | |
| 3 | struct A { |
Rachel Craik | 022bdc7d | 2015-09-14 21:27:36 +0000 | [diff] [blame] | 4 | char a : 9; // expected-error{{width of bit-field 'a' (9 bits) exceeds width of its type (8 bits)}} |
| 5 | int b : 33; // expected-error{{width of bit-field 'b' (33 bits) exceeds width of its type (32 bits)}} |
David Majnemer | d558aa8 | 2015-09-15 01:00:55 +0000 | [diff] [blame] | 6 | bool c : 9; // expected-error{{width of bit-field 'c' (9 bits) exceeds width of its type (8 bits)}} |
David Majnemer | 1cbe804 | 2015-09-15 02:36:41 +0000 | [diff] [blame] | 7 | 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}} |
Reid Kleckner | 736bc98 | 2013-07-17 20:46:03 +0000 | [diff] [blame] | 8 | }; |
| 9 | |
| 10 | int a[sizeof(A) == 1 ? 1 : -1]; |