2 /* { dg-options "-std=c99" } */
6 extern void abort (void);
9 #define N_INO_BITS_4 (32 - N_DEV_BITS_4 - 2 - 1)
11 #define N_DEV_BITS_8 8
12 #define N_INO_BITS_8 (64 - N_DEV_BITS_8 - 2 - 1)
17 uint32_t short_ino
:N_INO_BITS_4
;
18 uint32_t mapped_dev
:N_DEV_BITS_4
;
19 uint32_t always_set
:1;
25 uint64_t short_ino
:N_INO_BITS_8
;
26 uint32_t mapped_dev
:N_DEV_BITS_8
;
27 uint32_t always_set
:1;
50 struct dev_ino_full full
;
58 decode_ptr (struct di_ent
const *v
)
61 di
.u
.ptr
= (void *) v
;
66 di_ent_equal (void const *x
, void const *y
)
68 struct di_ent a
= decode_ptr (x
);
69 struct di_ent b
= decode_ptr (y
);
70 if (a
.u
.di4
.mode
!= b
.u
.di4
.mode
)
73 if (a
.u
.di4
.mode
== DI_MODE_4
)
74 return (a
.u
.di4
.short_ino
== b
.u
.di4
.short_ino
75 && a
.u
.di4
.mapped_dev
== b
.u
.di4
.mapped_dev
);
77 if (a
.u
.di8
.mode
== DI_MODE_8
)
78 return (a
.u
.di8
.short_ino
== b
.u
.di8
.short_ino
79 && a
.u
.di8
.mapped_dev
== b
.u
.di8
.mapped_dev
);
81 return (a
.u
.full
.ino
== b
.u
.full
.ino
82 && a
.u
.full
.dev
== b
.u
.full
.dev
);
88 if (di_ent_equal ((void *) 0x80143c4d, (void *) 0x80173851) != 0)