111
|
1
|
|
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 } */
|
|
6
|
|
7 @interface Base {
|
|
8 int i;
|
|
9 }
|
|
10 @end
|
|
11
|
|
12 @interface WithBitfields: Base {
|
|
13 void *isa; /* { dg-line WithBitfields_isa } */
|
|
14 unsigned a: 3; /* { dg-line WithBitfields_a } */
|
|
15 signed b: 4;
|
|
16 int c: 5; /* { dg-line WithBitfields_c } */
|
|
17 }
|
|
18 @end
|
|
19
|
|
20 @implementation WithBitfields {
|
|
21 char *isa; /* { dg-error "conflicting instance variable type .char \\*isa." } */
|
|
22 /* { dg-error "previous declaration of .void \\*isa." "" { target *-*-* } WithBitfields_isa } */
|
|
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 *-*-* } WithBitfields_a } */
|
|
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 *-*-* } WithBitfields_c } */
|
|
28 }
|
|
29 @end
|