p1.cpp revision 993f43f24d7a45a5cd4678a3316b0852261fc5d4
1// RUN: %clang_cc1 -fsyntax-only -verify %s 2 3struct A { 4 unsigned bitX : 4; 5 unsigned bitY : 4; 6 unsigned var; 7 8 void foo(); 9}; 10 11void test(A *a) { 12 int x; 13 x = sizeof(a->bitX); // expected-error {{invalid application of 'sizeof' to bit-field}} 14 x = sizeof((unsigned) a->bitX); 15 x = sizeof(a->foo(), a->bitX); // expected-error {{invalid application of 'sizeof' to bit-field}} 16 x = sizeof(a->var ? a->bitX : a->bitY); // expected-error {{invalid application of 'sizeof' to bit-field}} 17 x = sizeof(a->var ? a->bitX : a->bitX); // expected-error {{invalid application of 'sizeof' to bit-field}} 18 x = sizeof(a->bitX = 3); // expected-error {{invalid application of 'sizeof' to bit-field}} 19 x = sizeof(a->bitY += 3); // expected-error {{invalid application of 'sizeof' to bit-field}} 20} 21