1 /* Test program to test bit field operations on bit fields of large
4 /* This file is expected to fail to compile if the type long long int
5 is not supported, but in that case it is irrelevant. */
10 #if !defined(__STDC__) && !defined(__cplusplus)
16 unsigned long long u1 : 15;
17 unsigned long long u2 : 33;
18 unsigned long long u3 : 16;
19 signed long long s1 : 15;
20 signed long long s2 : 33;
21 signed long long s3 : 16;
64 /* This is used by bitfields.exp to determine if the target understands
70 memset ((char *) &flags, 0, sizeof (flags));
72 /* For each member, set that member to 1, allow gdb to verify that the
73 member (and only that member) is 1, and then reset it back to 0. */
98 /* Fill alternating fields with all 1's and verify that none of the bits
99 "bleed over" to the other fields. */
109 flags.u2 = 0x1FFFFFFFFLL;
118 /* Fill the unsigned fields with the maximum positive value and verify
119 that the values are printed correctly. */
122 flags.u2 = 0x1FFFFFFFFLL;
129 /* Fill the signed fields with the maximum positive value, then the maximally
130 negative value, then -1, and verify in each case that the values are
131 printed correctly. */
133 /* Maximum positive values */
135 flags.s2 = 0xFFFFFFFFLL;
139 /* Maximally negative values */
141 flags.s2 = -0x100000000LL;
144 /* Extract bitfield value so that bitfield.exp can check if the target
145 understands signed bitfields. */
166 for (i = 0; i < 5; i += 1)