/* Dump given cgraph node. */ void dump_varpool_node (FILE *f, struct varpool_node *node) { fprintf (f, "%s:", varpool_node_name (node)); fprintf (f, " availability:%s", cgraph_function_flags_ready ? cgraph_availability_names[cgraph_variable_initializer_availability (node)] : "not-ready"); if (DECL_ASSEMBLER_NAME_SET_P (node->decl)) fprintf (f, " (asm: %s)", IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME (node->decl))); if (DECL_INITIAL (node->decl)) fprintf (f, " initialized"); if (TREE_ASM_WRITTEN (node->decl)) fprintf (f, " (asm written)"); if (node->needed) fprintf (f, " needed"); if (node->analyzed) fprintf (f, " analyzed"); if (node->finalized) fprintf (f, " finalized"); if (node->output) fprintf (f, " output"); if (node->externally_visible) fprintf (f, " externally_visible"); if (node->resolution != LDPR_UNKNOWN) fprintf (f, " %s", ld_plugin_symbol_resolution_names[(int)node->resolution]); if (node->in_other_partition) fprintf (f, " in_other_partition"); else if (node->used_from_other_partition) fprintf (f, " used_from_other_partition"); fprintf (f, "\n"); fprintf (f, " References: "); ipa_dump_references (f, &node->ref_list); fprintf (f, " Refering this var: "); ipa_dump_refering (f, &node->ref_list); }
void dump_symtab_base (FILE *f, symtab_node node) { static const char * const visibility_types[] = { "default", "protected", "hidden", "internal" }; fprintf (f, "%s/%i (%s)", symtab_node_asm_name (node), node->symbol.order, symtab_node_name (node)); dump_addr (f, " @", (void *)node); fprintf (f, "\n Type: %s\n", symtab_type_names[node->symbol.type]); fprintf (f, " Visibility:"); if (node->symbol.in_other_partition) fprintf (f, " in_other_partition"); if (node->symbol.used_from_other_partition) fprintf (f, " used_from_other_partition"); if (node->symbol.force_output) fprintf (f, " force_output"); if (node->symbol.resolution != LDPR_UNKNOWN) fprintf (f, " %s", ld_plugin_symbol_resolution_names[(int)node->symbol.resolution]); if (TREE_ASM_WRITTEN (node->symbol.decl)) fprintf (f, " asm_written"); if (DECL_EXTERNAL (node->symbol.decl)) fprintf (f, " external"); if (TREE_PUBLIC (node->symbol.decl)) fprintf (f, " public"); if (DECL_COMMON (node->symbol.decl)) fprintf (f, " common"); if (DECL_WEAK (node->symbol.decl)) fprintf (f, " weak"); if (DECL_DLLIMPORT_P (node->symbol.decl)) fprintf (f, " dll_import"); if (DECL_COMDAT (node->symbol.decl)) fprintf (f, " comdat"); if (DECL_COMDAT_GROUP (node->symbol.decl)) fprintf (f, " comdat_group:%s", IDENTIFIER_POINTER (DECL_COMDAT_GROUP (node->symbol.decl))); if (DECL_ONE_ONLY (node->symbol.decl)) fprintf (f, " one_only"); if (DECL_SECTION_NAME (node->symbol.decl)) fprintf (f, " section_name:%s", TREE_STRING_POINTER (DECL_SECTION_NAME (node->symbol.decl))); if (DECL_VISIBILITY_SPECIFIED (node->symbol.decl)) fprintf (f, " visibility_specified"); if (DECL_VISIBILITY (node->symbol.decl)) fprintf (f, " visibility:%s", visibility_types [DECL_VISIBILITY (node->symbol.decl)]); if (DECL_VIRTUAL_P (node->symbol.decl)) fprintf (f, " virtual"); if (DECL_ARTIFICIAL (node->symbol.decl)) fprintf (f, " artificial"); if (TREE_CODE (node->symbol.decl) == FUNCTION_DECL) { if (DECL_STATIC_CONSTRUCTOR (node->symbol.decl)) fprintf (f, " constructor"); if (DECL_STATIC_DESTRUCTOR (node->symbol.decl)) fprintf (f, " destructor"); } fprintf (f, "\n"); if (node->symbol.same_comdat_group) fprintf (f, " Same comdat group as: %s/%i\n", symtab_node_asm_name (node->symbol.same_comdat_group), node->symbol.same_comdat_group->symbol.order); if (node->symbol.next_sharing_asm_name) fprintf (f, " next sharing asm name: %i\n", node->symbol.next_sharing_asm_name->symbol.order); if (node->symbol.previous_sharing_asm_name) fprintf (f, " previous sharing asm name: %i\n", node->symbol.previous_sharing_asm_name->symbol.order); if (node->symbol.address_taken) fprintf (f, " Address is taken.\n"); if (node->symbol.aux) { fprintf (f, " Aux:"); dump_addr (f, " @", (void *)node->symbol.aux); } fprintf (f, " References: "); ipa_dump_references (f, &node->symbol.ref_list); fprintf (f, " Referring: "); ipa_dump_referring (f, &node->symbol.ref_list); }
void dump_symtab_base (FILE *f, symtab_node *node) { static const char * const visibility_types[] = { "default", "protected", "hidden", "internal" }; fprintf (f, "%s/%i (%s)", node->asm_name (), node->order, node->name ()); dump_addr (f, " @", (void *)node); fprintf (f, "\n Type: %s", symtab_type_names[node->type]); if (node->definition) fprintf (f, " definition"); if (node->analyzed) fprintf (f, " analyzed"); if (node->alias) fprintf (f, " alias"); if (node->weakref) fprintf (f, " weakref"); if (node->cpp_implicit_alias) fprintf (f, " cpp_implicit_alias"); if (node->alias_target) fprintf (f, " target:%s", DECL_P (node->alias_target) ? IDENTIFIER_POINTER (DECL_ASSEMBLER_NAME (node->alias_target)) : IDENTIFIER_POINTER (node->alias_target)); if (node->body_removed) fprintf (f, "\n Body removed by symtab_remove_unreachable_nodes"); fprintf (f, "\n Visibility:"); if (node->in_other_partition) fprintf (f, " in_other_partition"); if (node->used_from_other_partition) fprintf (f, " used_from_other_partition"); if (node->force_output) fprintf (f, " force_output"); if (node->forced_by_abi) fprintf (f, " forced_by_abi"); if (node->externally_visible) fprintf (f, " externally_visible"); if (node->resolution != LDPR_UNKNOWN) fprintf (f, " %s", ld_plugin_symbol_resolution_names[(int)node->resolution]); if (TREE_ASM_WRITTEN (node->decl)) fprintf (f, " asm_written"); if (DECL_EXTERNAL (node->decl)) fprintf (f, " external"); if (TREE_PUBLIC (node->decl)) fprintf (f, " public"); if (DECL_COMMON (node->decl)) fprintf (f, " common"); if (DECL_WEAK (node->decl)) fprintf (f, " weak"); if (DECL_DLLIMPORT_P (node->decl)) fprintf (f, " dll_import"); if (DECL_COMDAT (node->decl)) fprintf (f, " comdat"); if (DECL_COMDAT_GROUP (node->decl)) fprintf (f, " comdat_group:%s", IDENTIFIER_POINTER (DECL_COMDAT_GROUP (node->decl))); if (DECL_ONE_ONLY (node->decl)) fprintf (f, " one_only"); if (DECL_SECTION_NAME (node->decl)) fprintf (f, " section_name:%s", TREE_STRING_POINTER (DECL_SECTION_NAME (node->decl))); if (DECL_VISIBILITY_SPECIFIED (node->decl)) fprintf (f, " visibility_specified"); if (DECL_VISIBILITY (node->decl)) fprintf (f, " visibility:%s", visibility_types [DECL_VISIBILITY (node->decl)]); if (DECL_VIRTUAL_P (node->decl)) fprintf (f, " virtual"); if (DECL_ARTIFICIAL (node->decl)) fprintf (f, " artificial"); if (TREE_CODE (node->decl) == FUNCTION_DECL) { if (DECL_STATIC_CONSTRUCTOR (node->decl)) fprintf (f, " constructor"); if (DECL_STATIC_DESTRUCTOR (node->decl)) fprintf (f, " destructor"); } fprintf (f, "\n"); if (node->same_comdat_group) fprintf (f, " Same comdat group as: %s/%i\n", node->same_comdat_group->asm_name (), node->same_comdat_group->order); if (node->next_sharing_asm_name) fprintf (f, " next sharing asm name: %i\n", node->next_sharing_asm_name->order); if (node->previous_sharing_asm_name) fprintf (f, " previous sharing asm name: %i\n", node->previous_sharing_asm_name->order); if (node->address_taken) fprintf (f, " Address is taken.\n"); if (node->aux) { fprintf (f, " Aux:"); dump_addr (f, " @", (void *)node->aux); } fprintf (f, " References: "); ipa_dump_references (f, &node->ref_list); fprintf (f, " Referring: "); ipa_dump_referring (f, &node->ref_list); if (node->lto_file_data) fprintf (f, " Read from file: %s\n", node->lto_file_data->file_name); }