Commit 291d3f4d by Richard Biener Committed by Richard Biener

dwarf2out.c (decl_scope_table): Remove.

2018-06-28  Richard Biener  <rguenther@suse.de>

	* 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
parent 4ece5af3
2018-06-28 Richard Biener <rguenther@suse.de>
* 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 <rguenther@suse.de>
* dwarf2out.c (gen_subprogram_die): Use is_unit_die when
deciding whether to not re-use a DIE.
......
......@@ -150,13 +150,6 @@ static GTY(()) vec<rtx, va_gc> *used_rtx_array;
it. */
static GTY(()) vec<tree, va_gc> *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<tree, va_gc> *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<dw_loc_list_hasher>::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;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment