Message ID | 9219A6A9-0D23-47B1-99DF-892D310754EF@lps.ens.fr |
---|---|
State | New |
Headers | show |
On Wed, Nov 11, 2015 at 02:11:38PM +0100, Dominique d'Humières wrote: > The following patch restore bootstrap on darwin > > --- ../_clean/gcc/cp/parser.h 2015-11-10 01:54:44.000000000 +0100 > +++ gcc/cp/parser.h 2015-11-11 12:10:28.000000000 +0100 > @@ -48,7 +48,7 @@ struct GTY (()) cp_token { > /* Token flags. */ > unsigned char flags; > /* Identifier for the pragma. */ > - ENUM_BITFIELD (pragma_kind) pragma_kind : 6; > + ENUM_BITFIELD (pragma_kind) pragma_kind : 8; > /* True if this token is from a context where it is implicitly extern "C" */ > BOOL_BITFIELD implicit_extern_c : 1; > /* True if an error has already been reported for this token, such as a > --- ../_clean/gcc/c-family/c-pragma.c 2015-11-10 01:54:43.000000000 +0100 > +++ gcc/c-family/c-pragma.c 2015-11-11 12:10:25.000000000 +0100 > @@ -1372,7 +1372,7 @@ c_register_pragma_1 (const char *space, > > /* The C++ front end allocates 6 bits in cp_token; the C front end > allocates 7 bits in c_token. At present this is sufficient. */ > - gcc_assert (id < 64); > + gcc_assert (id < 256); > } > > cpp_register_deferred_pragma (parse_in, space, name, id, > > OK to commit? As written in the PR, please add a ChangeLog entry, don't forget about PR bootstrap/68271 line, and please update the 6 and 7 numbers in the comment to 8. With that the patch is ok. As a follow-up, we'll remove pragma_kind field in the C++ FE, to shrink the token by 64 bits. Jakub
--- ../_clean/gcc/cp/parser.h 2015-11-10 01:54:44.000000000 +0100 +++ gcc/cp/parser.h 2015-11-11 12:10:28.000000000 +0100 @@ -48,7 +48,7 @@ struct GTY (()) cp_token { /* Token flags. */ unsigned char flags; /* Identifier for the pragma. */ - ENUM_BITFIELD (pragma_kind) pragma_kind : 6; + ENUM_BITFIELD (pragma_kind) pragma_kind : 8; /* True if this token is from a context where it is implicitly extern "C" */ BOOL_BITFIELD implicit_extern_c : 1; /* True if an error has already been reported for this token, such as a --- ../_clean/gcc/c-family/c-pragma.c 2015-11-10 01:54:43.000000000 +0100 +++ gcc/c-family/c-pragma.c 2015-11-11 12:10:25.000000000 +0100 @@ -1372,7 +1372,7 @@ c_register_pragma_1 (const char *space, /* The C++ front end allocates 6 bits in cp_token; the C front end allocates 7 bits in c_token. At present this is sufficient. */ - gcc_assert (id < 64); + gcc_assert (id < 256); } cpp_register_deferred_pragma (parse_in, space, name, id,