Commit f4290962 by Jan Hubicka Committed by Jan Hubicka

tree.c (find_decls_types_r): Do not check for redundant typedefs.


	* tree.c (find_decls_types_r): Do not check for redundant typedefs.
	* tree.h (is_redundant_typedef): Remove.
	* dwarf2out.c (is_redundant_typedef): Turn into static function.

From-SVN: r263699
parent b6490084
2018-08-21 Jan Hubicka <jh@suse.cz> 2018-08-21 Jan Hubicka <jh@suse.cz>
* tree.c (find_decls_types_r): Do not check for redundant typedefs.
* tree.h (is_redundant_typedef): Remove.
* dwarf2out.c (is_redundant_typedef): Turn into static function.
2018-08-21 Jan Hubicka <jh@suse.cz>
* tree.c (free_lang_data_in_decl): Remove types from DECL_CONTEXT * tree.c (free_lang_data_in_decl): Remove types from DECL_CONTEXT
when possible. when possible.
......
...@@ -102,6 +102,7 @@ static void dwarf2out_source_line (unsigned int, unsigned int, const char *, ...@@ -102,6 +102,7 @@ static void dwarf2out_source_line (unsigned int, unsigned int, const char *,
static rtx_insn *last_var_location_insn; static rtx_insn *last_var_location_insn;
static rtx_insn *cached_next_real_insn; static rtx_insn *cached_next_real_insn;
static void dwarf2out_decl (tree); static void dwarf2out_decl (tree);
static bool is_redundant_typedef (const_tree);
#ifndef XCOFF_DEBUGGING_INFO #ifndef XCOFF_DEBUGGING_INFO
#define XCOFF_DEBUGGING_INFO 0 #define XCOFF_DEBUGGING_INFO 0
...@@ -25831,7 +25832,7 @@ decls_for_scope (tree stmt, dw_die_ref context_die) ...@@ -25831,7 +25832,7 @@ decls_for_scope (tree stmt, dw_die_ref context_die)
/* Is this a typedef we can avoid emitting? */ /* Is this a typedef we can avoid emitting? */
bool static bool
is_redundant_typedef (const_tree decl) is_redundant_typedef (const_tree decl)
{ {
if (TYPE_DECL_IS_STUB (decl)) if (TYPE_DECL_IS_STUB (decl))
......
...@@ -5565,11 +5565,7 @@ find_decls_types_r (tree *tp, int *ws, void *data) ...@@ -5565,11 +5565,7 @@ find_decls_types_r (tree *tp, int *ws, void *data)
tem = TYPE_FIELDS (t); tem = TYPE_FIELDS (t);
while (tem) while (tem)
{ {
if (TREE_CODE (tem) == FIELD_DECL if (TREE_CODE (tem) == FIELD_DECL)
|| (TREE_CODE (tem) == TYPE_DECL
&& !DECL_IGNORED_P (tem)
&& debug_info_level > DINFO_LEVEL_TERSE
&& !is_redundant_typedef (tem)))
fld_worklist_push (tem, fld); fld_worklist_push (tem, fld);
tem = TREE_CHAIN (tem); tem = TREE_CHAIN (tem);
} }
......
...@@ -5805,7 +5805,6 @@ extern void gt_pch_nx (tree &); ...@@ -5805,7 +5805,6 @@ extern void gt_pch_nx (tree &);
extern void gt_pch_nx (tree &, gt_pointer_operator, void *); extern void gt_pch_nx (tree &, gt_pointer_operator, void *);
extern bool nonnull_arg_p (const_tree); extern bool nonnull_arg_p (const_tree);
extern bool is_redundant_typedef (const_tree);
extern bool default_is_empty_record (const_tree); extern bool default_is_empty_record (const_tree);
extern HOST_WIDE_INT arg_int_size_in_bytes (const_tree); extern HOST_WIDE_INT arg_int_size_in_bytes (const_tree);
extern tree arg_size_in_bytes (const_tree); extern tree arg_size_in_bytes (const_tree);
......
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