This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: aarch64 build broken
- From: Jan Hubicka <hubicka at ucw dot cz>
- To: Bernd Edlinger <bernd dot edlinger at hotmail dot de>
- Cc: "hubicka at ucw dot cz" <hubicka at ucw dot cz>, "gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>
- Date: Mon, 26 May 2014 21:07:28 +0200
- Subject: Re: aarch64 build broken
- Authentication-results: sourceware.org; auth=none
- References: <DUB118-W5D534587B1D940AAF2379E43B0 at phx dot gbl>
> 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. */