Hi, my apologize for the breakage. I somehow missed Ada in --enable-languages list. I've comitted the following fix that also cures enable checking failure of g++.dg/torture/pr46154.C
Honza * cgraphunit.c (varpool_finalize_decl): Allow external decls. (mark_functions_to_output): Fix sanity check. * ipa.c (function_and_variable_visibility): Remove TREE_STATIC check. Index: cgraphunit.c =================================================================== *** cgraphunit.c (revision 187650) --- cgraphunit.c (working copy) *************** varpool_finalize_decl (tree decl) *** 819,825 **** { struct varpool_node *node = varpool_node (decl); ! gcc_assert (TREE_STATIC (decl)); if (node->finalized) return; --- 819,825 ---- { struct varpool_node *node = varpool_node (decl); ! gcc_assert (TREE_STATIC (decl) || DECL_EXTERNAL (decl)); if (node->finalized) return; *************** mark_functions_to_output (void) *** 1156,1161 **** --- 1156,1162 ---- have analyzed node pointing to it. */ && !node->symbol.in_other_partition && !node->alias + && !node->clones && !DECL_EXTERNAL (decl)) { dump_cgraph_node (stderr, node); Index: ipa.c =================================================================== *** ipa.c (revision 187650) --- ipa.c (working copy) *************** function_and_variable_visibility (bool w *** 915,921 **** symtab_dissolve_same_comdat_group_list ((symtab_node) vnode); vnode->symbol.resolution = LDPR_PREVAILING_DEF_IRONLY; } - gcc_assert (TREE_STATIC (vnode->symbol.decl)); } pointer_set_destroy (aliased_nodes); pointer_set_destroy (aliased_vnodes); --- 915,920 ----