Hi Jan,
looks good. Thanks! Bernd On Mon, 26 May 2014 21:07:28 +0200, Jan Hubicka wrote: > From: hubi...@ucw.cz > To: bernd.edlin...@hotmail.de > CC: hubi...@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. */