gcc/c-family/
[official-gcc.git] / gcc / testsuite / obj-c++.dg / bitfield-5.mm
blobb6716df8d97da6d936fb7656732a3364f002eeec
2 /* Make sure that bitfield types are printed correctly, and that ivar redeclaration
3   (@interface vs. @implementation) checks take the bitfield width into account.  */
4 /* Author: Ziemowit Laski   <zlaski@apple.com>  */
5 /* { dg-do compile } */
7 @interface Base {
8   int i;
10 @end
12 @interface WithBitfields: Base {
13   void *isa;
14   unsigned a: 3;
15   signed b: 4;
16   int c: 5;
18 @end
20 @implementation WithBitfields {
21   char *isa;  /* { dg-error "conflicting instance variable type .char \\*isa." } */
22   /* { dg-error "previous declaration of .void \\*isa." "" { target *-*-* } 13 } */
23   unsigned a: 5;  /* { dg-error "conflicting instance variable type .unsigned( int)? a: 5." } */
24   /* { dg-error "previous declaration of .unsigned( int)? a: 3." "" { target *-*-* } 14 } */                     
25   signed b: 4;  /* This one is fine. */
26   int c: 3;  /* { dg-error "conflicting instance variable type .int c: 3." } */
27   /* { dg-error "previous declaration of .int c: 5." "" { target *-*-* } 16 } */ 
29 @end