diff mbox

PR68271 [6 Regression] Boostrap fails on x86_64-apple-darwin14 at r230084

Message ID 9219A6A9-0D23-47B1-99DF-892D310754EF@lps.ens.fr
State New
Headers show

Commit Message

Dominique d'Humières Nov. 11, 2015, 1:11 p.m. UTC
The following patch restore bootstrap on darwin


OK to commit?

Dominique

Comments

Jakub Jelinek Nov. 11, 2015, 1:14 p.m. UTC | #1
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
diff mbox

Patch

--- ../_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,