// RUN: clang-cc %s -fsyntax-only -verify 

@interface X 
{
  int a : -1; // expected-error{{bit-field 'a' has negative width}}

  // rdar://6081627
  int b : 33; // expected-error{{size of bit-field 'b' exceeds size of its type (32 bits)}}

  int c : (1 + 0.25); // expected-error{{expression is not an integer constant expression}}
  int d : (int)(1 + 0.25); 

  // rdar://6138816
  int e : 0;  // expected-error {{bit-field 'e' has zero width}}
}
@end

@interface Base {
  int i;
}
@end

@interface WithBitfields: Base {
  void *isa; // expected-note {{previous definition is here}}
  unsigned a: 5;
  signed b: 4;
  int c: 5; // expected-note {{previous definition is here}}
}
@end

@implementation WithBitfields {
  char *isa;  // expected-error {{instance variable 'isa' has conflicting type: 'char *' vs 'void *'}}
  unsigned a: 5;  
  signed b: 4; 
  int c: 3;  // expected-error {{instance variable 'c' has conflicting bitfield width}}
}
@end
