This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: aarch64 build broken


> Hi Jan,
> 
> 
> 
> r210901 | hubicka | 2014-05-25 00:00:14 +0200 (So, 25. Mai 2014)
> 
> 
> this checkin broke the aarch64 build:
> 
> 
> 
> ./../gcc-trunk/gcc/config/aarch64/aarch64.c: In function âvoid aarch64_elf_asm_named_section(const char*, unsigned int, tree)â:
> ../../gcc-trunk/gcc/tree.h:2326:26: error: âdecl_comdat_groupâ was not declared in this scope
>    decl_comdat_group (NODE)
>                           ^
> ../../gcc-trunk/gcc/tree.h:226:15: note: in definition of macro âTREE_CHECKâ
>  (tree_check ((T), __FILE__, __LINE__, __FUNCTION__, (CODE)))
>                ^
> ../../gcc-trunk/gcc/tree.h:925:19: note: in expansion of macro âIDENTIFIER_NODE_CHECKâ
>    ((const char *) IDENTIFIER_NODE_CHECK (NODE)->identifier.id.str)
>                    ^
> ../../gcc-trunk/gcc/config/aarch64/aarch64.c:8136:8: note: in expansion of macro âIDENTIFIER_POINTERâ
>         IDENTIFIER_POINTER (DECL_COMDAT_GROUP (decl)));
>         ^
> ../../gcc-trunk/gcc/config/aarch64/aarch64.c:8136:28: note: in expansion of macro âDECL_COMDAT_GROUPâ
>         IDENTIFIER_POINTER (DECL_COMDAT_GROUP (decl)));
> 
Hi,
the problem is that decl_comdat_group used by DECL_COMDAT_GROUP macro is
defined in cgraph.h that is not inlined.  This patch moves is offline making
tree.h self contained.

Does it solve the pbootstrap problem?

Honza

Index: cgraph.h
===================================================================
--- cgraph.h	(revision 210908)
+++ cgraph.h	(working copy)
@@ -1621,14 +1621,4 @@ symtab_in_same_comdat_p (symtab_node *on
 
   return one->get_comdat_group () == two->get_comdat_group ();
 }
-
-/* Return comdat group of DECL.  */
-static inline tree
-decl_comdat_group (tree node)
-{
-  struct symtab_node *snode = symtab_get_node (node);
-  if (!snode)
-    return NULL;
-  return snode->get_comdat_group ();
-}
 #endif  /* GCC_CGRAPH_H  */
Index: tree.h
===================================================================
--- tree.h	(revision 210908)
+++ tree.h	(working copy)
@@ -3431,6 +3434,7 @@ tree_operand_check_code (const_tree __t,
    || ((NODE) && TREE_TYPE ((NODE)) == error_mark_node))
 
 extern tree decl_assembler_name (tree);
+extern tree decl_comdat_group (tree);
 
 /* Compute the number of bytes occupied by 'node'.  This routine only
    looks at TREE_CODE and, if the code is TREE_VEC, TREE_VEC_LENGTH.  */
Index: tree.c
===================================================================
--- tree.c	(revision 210908)
+++ tree.c	(working copy)
@@ -603,6 +603,16 @@ decl_assembler_name (tree decl)
   return DECL_WITH_VIS_CHECK (decl)->decl_with_vis.assembler_name;
 }
 
+/* Return comdat group of DECL.  */
+tree
+decl_comdat_group (tree node)
+{
+  struct symtab_node *snode = symtab_get_node (node);
+  if (!snode)
+    return NULL;
+  return snode->get_comdat_group ();
+}
+
 /* Compute the number of bytes occupied by a tree with code CODE.
    This function cannot be used for nodes that have variable sizes,
    including TREE_VEC, INTEGER_CST, STRING_CST, and CALL_EXPR.  */


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]