From 291d3f4d26d9d7c79719093a0a1828d1659ca3a1 Mon Sep 17 00:00:00 2001 From: Richard Biener Date: Thu, 28 Jun 2018 10:22:38 +0000 Subject: [PATCH] dwarf2out.c (decl_scope_table): Remove. 2018-06-28 Richard Biener * dwarf2out.c (decl_scope_table): Remove. (push_decl_scope): Likewise. (pop_decl_scope): Likewise. (gen_type_die_for_member): Do not call push/pop_decl_scope. (gen_struct_or_union_type_die): Likewise. (gen_tagged_type_die): Likewise. (dwarf2out_init): Do not initialize decl_scope_table. (dwarf2out_c_finalize): Do not free it. From-SVN: r262218 --- gcc/ChangeLog | 11 +++++++++++ gcc/dwarf2out.c | 49 ++----------------------------------------------- 2 files changed, 13 insertions(+), 47 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c9f7236b837..45c45c485a5 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,14 @@ +2018-06-28 Richard Biener + + * dwarf2out.c (decl_scope_table): Remove. + (push_decl_scope): Likewise. + (pop_decl_scope): Likewise. + (gen_type_die_for_member): Do not call push/pop_decl_scope. + (gen_struct_or_union_type_die): Likewise. + (gen_tagged_type_die): Likewise. + (dwarf2out_init): Do not initialize decl_scope_table. + (dwarf2out_c_finalize): Do not free it. + 2018-06-28 Richard Biener * dwarf2out.c (gen_subprogram_die): Use is_unit_die when diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c index db9f6397cc1..a7c4620cfc3 100644 --- a/gcc/dwarf2out.c +++ b/gcc/dwarf2out.c @@ -150,13 +150,6 @@ static GTY(()) vec *used_rtx_array; it. */ static GTY(()) vec *incomplete_types; -/* A pointer to the base of a table of references to declaration - scopes. This table is a display which tracks the nesting - of declaration scopes at the current scope and containing - scopes. This table is used to find the proper place to - define type declaration DIE's. */ -static GTY(()) vec *decl_scope_table; - /* Pointers to various DWARF2 sections. */ static GTY(()) section *debug_info_section; static GTY(()) section *debug_skeleton_info_section; @@ -3835,8 +3828,6 @@ static void add_name_and_src_coords_attributes (dw_die_ref, tree, bool = false); static void add_discr_value (dw_die_ref, dw_discr_value *); static void add_discr_list (dw_die_ref, dw_discr_list_ref); static inline dw_discr_list_ref AT_discr_list (dw_attr_node *); -static void push_decl_scope (tree); -static void pop_decl_scope (void); static dw_die_ref scope_die_for (tree, dw_die_ref); static inline int local_scope_p (dw_die_ref); static inline int class_scope_p (dw_die_ref); @@ -21361,22 +21352,6 @@ dwarf2out_vms_debug_main_pointer (void) } #endif /* VMS_DEBUGGING_INFO */ -/* Push a new declaration scope. */ - -static void -push_decl_scope (tree scope) -{ - vec_safe_push (decl_scope_table, scope); -} - -/* Pop a declaration scope. */ - -static inline void -pop_decl_scope (void) -{ - decl_scope_table->pop (); -} - /* walk_tree helper function for uses_local_type, below. */ static tree @@ -22359,7 +22334,6 @@ gen_type_die_for_member (tree type, tree member, dw_die_ref context_die) dw_die_ref type_die; gcc_assert (!decl_ultimate_origin (member)); - push_decl_scope (type); type_die = lookup_type_die_strip_naming_typedef (type); if (TREE_CODE (member) == FUNCTION_DECL) gen_subprogram_die (member, type_die); @@ -22381,8 +22355,6 @@ gen_type_die_for_member (tree type, tree member, dw_die_ref context_die) } else gen_variable_die (member, NULL_TREE, type_die); - - pop_decl_scope (); } } @@ -25153,9 +25125,7 @@ gen_struct_or_union_type_die (tree type, dw_die_ref context_die, if (type_die->die_parent == NULL) add_child_die (scope_die, type_die); - push_decl_scope (type); gen_member_die (type, type_die); - pop_decl_scope (); add_gnat_descriptive_type_attribute (type_die, type, context_die); if (TYPE_ARTIFICIAL (type)) @@ -25309,14 +25279,12 @@ gen_tagged_type_die (tree type, dw_die_ref context_die, enum debug_info_usage usage) { - int need_pop; - if (type == NULL_TREE || !is_tagged_type (type)) return; if (TREE_ASM_WRITTEN (type)) - need_pop = 0; + ; /* If this is a nested type whose containing class hasn't been written out yet, writing it out will cover this one, too. This does not apply to instantiations of member class templates; they need to be added to @@ -25333,9 +25301,7 @@ gen_tagged_type_die (tree type, return; /* If that failed, attach ourselves to the stub. */ - push_decl_scope (TYPE_CONTEXT (type)); context_die = lookup_type_die (TYPE_CONTEXT (type)); - need_pop = 1; } else if (TYPE_CONTEXT (type) != NULL_TREE && (TREE_CODE (TYPE_CONTEXT (type)) == FUNCTION_DECL)) @@ -25348,13 +25314,9 @@ gen_tagged_type_die (tree type, specification. */ if (context_die && is_declaration_die (context_die)) context_die = NULL; - need_pop = 0; } else - { - context_die = declare_in_namespace (type, context_die); - need_pop = 0; - } + context_die = declare_in_namespace (type, context_die); if (TREE_CODE (type) == ENUMERAL_TYPE) { @@ -25366,9 +25328,6 @@ gen_tagged_type_die (tree type, else gen_struct_or_union_type_die (type, context_die, usage); - if (need_pop) - pop_decl_scope (); - /* Don't set TREE_ASM_WRITTEN on an incomplete struct; we want to fix it up if it is ever completed. gen_*_type_die will set it for us when appropriate. */ @@ -28658,9 +28617,6 @@ dwarf2out_init (const char *filename ATTRIBUTE_UNUSED) /* Allocate the cached_dw_loc_list_table. */ cached_dw_loc_list_table = hash_table::create_ggc (10); - /* Allocate the initial hunk of the decl_scope_table. */ - vec_alloc (decl_scope_table, 256); - /* Allocate the initial hunk of the abbrev_die_table. */ vec_alloc (abbrev_die_table, 256); /* Zero-th entry is allocated, but unused. */ @@ -32102,7 +32058,6 @@ dwarf2out_c_finalize (void) cached_next_real_insn = NULL; used_rtx_array = NULL; incomplete_types = NULL; - decl_scope_table = NULL; debug_info_section = NULL; debug_skeleton_info_section = NULL; debug_abbrev_section = NULL; -- 2.30.2