Message ID | 20140526190728.GB18792@kam.mff.cuni.cz |
---|---|
State | New |
Headers | show |
Hi Jan, looks good. Thanks! Bernd On Mon, 26 May 2014 21:07:28 +0200, Jan Hubicka wrote: > From: hubicka@ucw.cz > To: bernd.edlinger@hotmail.de > CC: hubicka@ucw.cz; gcc-patches@gcc.gnu.org > Subject: 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. */
> Hi Jan, > > > looks good. Thanks! Thanks, I have commited the change. 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. */