make TS_IDENTIFIER be a substructure of TS_TYPED
authorfroydnj <froydnj@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 26 May 2011 13:29:42 +0000 (13:29 +0000)
committerfroydnj <froydnj@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 26 May 2011 13:29:42 +0000 (13:29 +0000)
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@174286 138bc75d-0d04-0410-961f-82ee72b054a4

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

index 44c1d05..f6a3ba7 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 6ecf509..f9a38af 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 89d4b80..65f8ad1 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 1dfad04..2738979 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 142237f..ce01fb7 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 f46c21b..2d2284b 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);