From 4f60111fd430b3ccaf89acd7a869ad2e6c6b7bf6 Mon Sep 17 00:00:00 2001 From: Nathan Froyd Date: Mon, 30 May 2011 16:42:05 +0000 Subject: [PATCH] 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 --- gcc/ChangeLog | 14 ++++++++++++++ gcc/c-family/ChangeLog | 10 ++++++++++ gcc/c-family/c-common.h | 2 +- gcc/tree.c | 2 +- gcc/tree.h | 4 ++-- gcc/varasm.c | 1 + 6 files changed, 29 insertions(+), 4 deletions(-) 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); -- 2.30.2