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)