Fix for "FAIL: tmpdir-gcc.dg-struct-layout-1/t028 c_compat_x_tst.o compile, (internal compiler error)"
Tue Sep 30 13:53:00 GMT 2014
On 30/09/14 12:51, Andreas Schwab wrote:
> Richard Sandiford <firstname.lastname@example.org> writes:
>> Andreas Schwab <email@example.com> writes:
>>> Richard Sandiford <firstname.lastname@example.org> 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?
> See C11, 6.7.2#5.
> Each of the comma-separated multisets designates the same type,
> except that for bit-fields, it is implementation-defined whether the
> specifier int designates the same type as signed int or the same
> type as unsigned int.
GCC is written in C++ these days, so technically, you need the C++
GNU C defaults to signed bitfields (see trouble.texi). However, since
GCC is supposed to bootstrap using a portable ISO C++ compiler, there's
an argument for removing the ambiguity entirely by being explicit. We
no-longer have to worry about compilers that don't support the signed
More information about the Gcc-patches