> 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. */