make TS_IDENTIFIER be a substructure of TS_TYPED
authorNathan Froyd <froydnj@codesourcery.com>
Thu, 26 May 2011 13:29:42 +0000 (13:29 +0000)
committerNathan Froyd <froydnj@gcc.gnu.org>
Thu, 26 May 2011 13:29:42 +0000 (13:29 +0000)
make TS_IDENTIFIER be a substructure of TS_TYPED
gcc/
* 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/
* c-common.h (struct c_common_identifier): Inherit from tree_typed,
not tree_common.

From-SVN: r174286

gcc/ChangeLog
gcc/c-family/ChangeLog
gcc/c-family/c-common.h
gcc/tree.c
gcc/tree.h
gcc/varasm.c

index 44c1d05f7dcb89bf76bacec41580ffe0874e10c5..f6a3ba788ceab1e95471c3f4d803621dccd7426e 100644 (file)
@@ -1,3 +1,12 @@
+2011-05-26  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * 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-26  Bernd Schmidt  <bernds@codesourcery.com>
 
        * Makefile.in (srcdirify): Change order so that libgcc_objdir is
index 6ecf5094dd7e2735c249a13cf2129246395e7938..f9a38af4b3c77985055a7b0c8c063c2fc070227f 100644 (file)
@@ -1,3 +1,8 @@
+2011-05-26  Nathan Froyd  <froydnj@codesourcery.com>
+
+       * c-common.h (struct c_common_identifier): Inherit from tree_typed,
+       not tree_common.
+
 2011-05-25  Jakub Jelinek  <jakub@redhat.com>
 
        * c-common.c (def_fn_type): Remove extra va_end.
index 89d4b80bdedda529d7f4320a8c4daa2d43b3bf81..65f8ad1cbbb45f6c6d06f364693ef547811583cc 100644 (file)
@@ -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_common common;
+  struct tree_typed common;
   struct cpp_hashnode node;
 };
 
index 1dfad04174aed28dd866a5582902f833b5784fd9..2738979c77ece66646b2239a54436a0b5e78d86a 100644 (file)
@@ -381,10 +381,10 @@ initialize_tree_contains_struct (void)
        case TS_SSA_NAME:
        case TS_CONSTRUCTOR:
        case TS_EXP:
+       case TS_IDENTIFIER:
          MARK_TS_TYPED (code);
          break;
 
-       case TS_IDENTIFIER:
        case TS_DECL_MINIMAL:
        case TS_TYPE_COMMON:
        case TS_LIST:
index 142237feb82c08bf8efa151102ed24e3d1f09c87..ce01fb7d7570023cf3b591bd1d1e8fbb44bf602e 100644 (file)
@@ -1541,11 +1541,11 @@ struct GTY(()) tree_vector {
    pointer, and vice versa.  */
 
 #define HT_IDENT_TO_GCC_IDENT(NODE) \
-  ((tree) ((char *) (NODE) - sizeof (struct tree_common)))
+  ((tree) ((char *) (NODE) - sizeof (struct tree_typed)))
 #define GCC_IDENT_TO_HT_IDENT(NODE) (&((struct tree_identifier *) (NODE))->id)
 
 struct GTY(()) tree_identifier {
-  struct tree_common common;
+  struct tree_typed typed;
   struct ht_identifier id;
 };
 
index f46c21b3bde0affad8e8f382ffabe63eed08088f..2d2284b88813310f729d6bd129ef0027825e49d4 100644 (file)
@@ -2296,7 +2296,6 @@ 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);