From: Nathan Froyd Date: Mon, 30 May 2011 16:42:05 +0000 (+0000) Subject: re PR c/4910 (imacat ) X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=4f60111fd430b3ccaf89acd7a869ad2e6c6b7bf6;p=gcc.git re PR c/4910 (imacat ) fix PR bootstrap/4910 gcc/ PR bootstrap/49190 Revert: 2011-05-26 Nathan Froyd * tree.h (struct tree_identifier): Inherit from tree_typed, not tree_common. (HT_IDENT_TO_GCC_IDENT): Adjust for said change. * tree.c (initialize_tree_contains_struct): Mark TS_IDENTIFIER as TS_BASE instead of TS_COMMON. * varasm.c (assemble_name): Remove assert. gcc/c-family/ PR bootstrap/49190 Revert: 2011-05-26 Nathan Froyd * c-common.h (struct c_common_identifier): Inherit from tree_typed, not tree_common. From-SVN: r174445 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 2060dcd41bf..37eb28cbcf2 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,17 @@ +2011-05-30 Nathan Froyd + + PR bootstrap/49190 + + Revert: + 2011-05-26 Nathan Froyd + + * tree.h (struct tree_identifier): Inherit from tree_typed, not + tree_common. + (HT_IDENT_TO_GCC_IDENT): Adjust for said change. + * tree.c (initialize_tree_contains_struct): Mark TS_IDENTIFIER as + TS_BASE instead of TS_COMMON. + * varasm.c (assemble_name): Remove assert. + 2011-05-30 Richard Sandiford * config.gcc: Keep obselete list sorted. diff --git a/gcc/c-family/ChangeLog b/gcc/c-family/ChangeLog index 3bdfbab007c..4ddc60d9cc5 100644 --- a/gcc/c-family/ChangeLog +++ b/gcc/c-family/ChangeLog @@ -1,3 +1,13 @@ +2011-05-30 Nathan Froyd + + PR bootstrap/49190 + + Revert: + 2011-05-26 Nathan Froyd + + * c-common.h (struct c_common_identifier): Inherit from tree_typed, + not tree_common. + 2011-05-27 Jakub Jelinek PR c++/49165 diff --git a/gcc/c-family/c-common.h b/gcc/c-family/c-common.h index 1b658b13147..c63b40d0360 100644 --- a/gcc/c-family/c-common.h +++ b/gcc/c-family/c-common.h @@ -307,7 +307,7 @@ enum c_tree_index /* Identifier part common to the C front ends. Inherits from tree_identifier, despite appearances. */ struct GTY(()) c_common_identifier { - struct tree_typed common; + struct tree_common common; struct cpp_hashnode node; }; diff --git a/gcc/tree.c b/gcc/tree.c index 85c0516081f..293e02c46d9 100644 --- a/gcc/tree.c +++ b/gcc/tree.c @@ -382,11 +382,11 @@ initialize_tree_contains_struct (void) case TS_SSA_NAME: case TS_CONSTRUCTOR: case TS_EXP: - case TS_IDENTIFIER: case TS_STATEMENT_LIST: MARK_TS_TYPED (code); break; + case TS_IDENTIFIER: case TS_DECL_MINIMAL: case TS_TYPE_COMMON: case TS_LIST: diff --git a/gcc/tree.h b/gcc/tree.h index 02a99944933..c7338baca93 100644 --- a/gcc/tree.h +++ b/gcc/tree.h @@ -1545,11 +1545,11 @@ struct GTY(()) tree_vector { pointer, and vice versa. */ #define HT_IDENT_TO_GCC_IDENT(NODE) \ - ((tree) ((char *) (NODE) - sizeof (struct tree_typed))) + ((tree) ((char *) (NODE) - sizeof (struct tree_common))) #define GCC_IDENT_TO_HT_IDENT(NODE) (&((struct tree_identifier *) (NODE))->id) struct GTY(()) tree_identifier { - struct tree_typed typed; + struct tree_common common; struct ht_identifier id; }; diff --git a/gcc/varasm.c b/gcc/varasm.c index 2d2284b8881..f46c21b3bde 100644 --- a/gcc/varasm.c +++ b/gcc/varasm.c @@ -2296,6 +2296,7 @@ assemble_name (FILE *file, const char *name) ultimate_transparent_alias_target (&id); if (id != id_orig) name = IDENTIFIER_POINTER (id); + gcc_assert (! TREE_CHAIN (id)); } assemble_name_raw (file, name);