Fix for "FAIL: tmpdir-gcc.dg-struct-layout-1/t028 c_compat_x_tst.o compile, (internal compiler error)"
Richard Sandiford
richard.sandiford@arm.com
Tue Sep 30 11:09:00 GMT 2014
Andreas Schwab <schwab@suse.de> writes:
> Richard Sandiford <richard.sandiford@arm.com> writes:
>
>> @@ -315,7 +318,7 @@ struct ira_allocno
>> number (0, ...) - 2. Value -1 is used for allocnos spilled by the
>> reload (at this point pseudo-register has only one allocno) which
>> did not get stack slot yet. */
>> - short int hard_regno;
>> + int hard_regno : 16;
>
> If you want negative numbers you need to make that explicitly signed.
Are you sure? In:
struct { int i : 16; unsigned int j : 1; } x = { -1, 0 };
int foo (void) { return x.i; }
foo returns -1 rather than 65535. I can't see any precedent in gcc/*.[hc]
for explicitly marking bitfields as signed.
Thanks,
Richard
More information about the Gcc-patches
mailing list