Tabify 2017-08-21 Richard Biener <rguenther@suse.de> entry
From-SVN: r251222
This commit is contained in:
parent
c349606774
commit
6bda97c0ae
182
gcc/ChangeLog
182
gcc/ChangeLog
@ -7,130 +7,130 @@
|
||||
|
||||
2017-08-21 Richard Biener <rguenther@suse.de>
|
||||
|
||||
* debug.h (struct gcc_debug_hooks): Add die_ref_for_decl and
|
||||
register_external_die hooks.
|
||||
(debug_false_tree_charstarstar_uhwistar): Declare.
|
||||
(debug_nothing_tree_charstar_uhwi): Likewise.
|
||||
* debug.c (do_nothing_debug_hooks): Adjust.
|
||||
(debug_false_tree_charstarstar_uhwistar): New do nothing.
|
||||
(debug_nothing_tree_charstar_uhwi): Likewise.
|
||||
* dbxout.c (dbx_debug_hooks): Adjust.
|
||||
(xcoff_debug_hooks): Likewise.
|
||||
* sdbout.c (sdb_debug_hooks): Likewise.
|
||||
* vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
|
||||
* dwarf2out.c (macinfo_label_base): New global.
|
||||
* debug.h (struct gcc_debug_hooks): Add die_ref_for_decl and
|
||||
register_external_die hooks.
|
||||
(debug_false_tree_charstarstar_uhwistar): Declare.
|
||||
(debug_nothing_tree_charstar_uhwi): Likewise.
|
||||
* debug.c (do_nothing_debug_hooks): Adjust.
|
||||
(debug_false_tree_charstarstar_uhwistar): New do nothing.
|
||||
(debug_nothing_tree_charstar_uhwi): Likewise.
|
||||
* dbxout.c (dbx_debug_hooks): Adjust.
|
||||
(xcoff_debug_hooks): Likewise.
|
||||
* sdbout.c (sdb_debug_hooks): Likewise.
|
||||
* vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
|
||||
* dwarf2out.c (macinfo_label_base): New global.
|
||||
(dwarf2out_register_external_die): New function for the
|
||||
register_external_die hook.
|
||||
(dwarf2out_die_ref_for_decl): Likewise for die_ref_for_decl.
|
||||
(dwarf2_debug_hooks): Use them.
|
||||
(dwarf2_lineno_debug_hooks): Adjust.
|
||||
(struct die_struct): Add with_offset flag.
|
||||
(DEBUG_LTO_DWO_INFO_SECTION, DEBUG_LTO_INFO_SECTION,
|
||||
DEBUG_LTO_DWO_ABBREV_SECTION, DEBUG_LTO_ABBREV_SECTION,
|
||||
DEBUG_LTO_DWO_MACINFO_SECTION, DEBUG_LTO_MACINFO_SECTION,
|
||||
DEBUG_LTO_DWO_MACRO_SECTION, DEBUG_LTO_MACRO_SECTION,
|
||||
DEBUG_LTO_LINE_SECTION, DEBUG_LTO_DWO_STR_OFFSETS_SECTION,
|
||||
DEBUG_LTO_STR_DWO_SECTION, DEBUG_STR_LTO_SECTION): New macros
|
||||
defining section names for the early LTO debug variants.
|
||||
(dwarf2out_die_ref_for_decl): Likewise for die_ref_for_decl.
|
||||
(dwarf2_debug_hooks): Use them.
|
||||
(dwarf2_lineno_debug_hooks): Adjust.
|
||||
(struct die_struct): Add with_offset flag.
|
||||
(DEBUG_LTO_DWO_INFO_SECTION, DEBUG_LTO_INFO_SECTION,
|
||||
DEBUG_LTO_DWO_ABBREV_SECTION, DEBUG_LTO_ABBREV_SECTION,
|
||||
DEBUG_LTO_DWO_MACINFO_SECTION, DEBUG_LTO_MACINFO_SECTION,
|
||||
DEBUG_LTO_DWO_MACRO_SECTION, DEBUG_LTO_MACRO_SECTION,
|
||||
DEBUG_LTO_LINE_SECTION, DEBUG_LTO_DWO_STR_OFFSETS_SECTION,
|
||||
DEBUG_LTO_STR_DWO_SECTION, DEBUG_STR_LTO_SECTION): New macros
|
||||
defining section names for the early LTO debug variants.
|
||||
(reset_indirect_string): New helper.
|
||||
(add_AT_external_die_ref): Helper for dwarf2out_register_external_die.
|
||||
(print_dw_val): Add support for offsetted symbol references.
|
||||
(add_AT_external_die_ref): Helper for dwarf2out_register_external_die.
|
||||
(print_dw_val): Add support for offsetted symbol references.
|
||||
(get_ultimate_context): Split out from is_cxx.
|
||||
(is_cxx): Use get_ultimate_context.
|
||||
(is_fortran): Add decl overload.
|
||||
(compute_comp_unit_symbol): Split out worker from
|
||||
(compute_comp_unit_symbol): Split out worker from
|
||||
compute_section_prefix.
|
||||
(compute_section_prefix): Call compute_comp_unit_symbol and
|
||||
(compute_section_prefix): Call compute_comp_unit_symbol and
|
||||
set comdat_type_p here.
|
||||
(output_die): Skip DIE symbol output for the LTO added one.
|
||||
Handle DIE symbol references with offset.
|
||||
(output_comp_unit): Guard section name mangling properly.
|
||||
For LTO debug sections emit a symbol at the section beginning
|
||||
which we use to refer to its DIEs.
|
||||
(add_abstract_origin_attribute): For DIEs registered via
|
||||
dwarf2out_register_external_die directly refer to the early
|
||||
DIE rather than indirectly through the shadow one we created.
|
||||
(output_die): Skip DIE symbol output for the LTO added one.
|
||||
Handle DIE symbol references with offset.
|
||||
(output_comp_unit): Guard section name mangling properly.
|
||||
For LTO debug sections emit a symbol at the section beginning
|
||||
which we use to refer to its DIEs.
|
||||
(add_abstract_origin_attribute): For DIEs registered via
|
||||
dwarf2out_register_external_die directly refer to the early
|
||||
DIE rather than indirectly through the shadow one we created.
|
||||
Remove obsolete call to dwarf2out_abstract_function for
|
||||
non-function/block origins.
|
||||
(gen_array_type_die): When generating early LTO debug do
|
||||
not emit DW_AT_string_length.
|
||||
(gen_formal_parameter_die): Do not re-create DIEs for PARM_DECLs
|
||||
late when in LTO. As suggested place a gcc_unreachable for
|
||||
(gen_array_type_die): When generating early LTO debug do
|
||||
not emit DW_AT_string_length.
|
||||
(gen_formal_parameter_die): Do not re-create DIEs for PARM_DECLs
|
||||
late when in LTO. As suggested place a gcc_unreachable for
|
||||
the DECL_ABSTRACT_P case.
|
||||
(gen_subprogram_die): Avoid another specification DIE
|
||||
for early built declarations/definitions for the late LTO case.
|
||||
(gen_variable_die): Add type references for late duplicated VLA dies
|
||||
when in late LTO.
|
||||
(gen_inlined_subroutine_die): Do not call dwarf2out_abstract_function,
|
||||
we have the abstract instance already.
|
||||
(process_scope_var): Adjust decl DIE contexts in LTO which
|
||||
first puts them in limbo.
|
||||
(gen_decl_die): Do not generate type DIEs late apart from
|
||||
types for VLAs or for decls we do not yet have a DIE. Do not
|
||||
(gen_subprogram_die): Avoid another specification DIE
|
||||
for early built declarations/definitions for the late LTO case.
|
||||
(gen_variable_die): Add type references for late duplicated VLA dies
|
||||
when in late LTO.
|
||||
(gen_inlined_subroutine_die): Do not call dwarf2out_abstract_function,
|
||||
we have the abstract instance already.
|
||||
(process_scope_var): Adjust decl DIE contexts in LTO which
|
||||
first puts them in limbo.
|
||||
(gen_decl_die): Do not generate type DIEs late apart from
|
||||
types for VLAs or for decls we do not yet have a DIE. Do not
|
||||
call dwarf2out_abstract_function late.
|
||||
(dwarf2out_early_global_decl): Make sure to create DIEs
|
||||
for abstract instances of a decl first.
|
||||
(dwarf2out_late_global_decl): Adjust comment.
|
||||
(output_macinfo_op): With multiple macro sections use
|
||||
(dwarf2out_early_global_decl): Make sure to create DIEs
|
||||
for abstract instances of a decl first.
|
||||
(dwarf2out_late_global_decl): Adjust comment.
|
||||
(output_macinfo_op): With multiple macro sections use
|
||||
macinfo_label_base to distinguish labels.
|
||||
(output_macinfo): Likewise. Update macinfo_label_base.
|
||||
(output_macinfo): Likewise. Update macinfo_label_base.
|
||||
Pass in the line info label.
|
||||
(note_variable_value_in_expr): When generating LTO resolve
|
||||
all variable values here by generating DIEs as needed.
|
||||
(init_sections_and_labels): Add early LTO debug flag parameter
|
||||
and generate different sections and names if set. Add generation
|
||||
counter for the labels so we can have multiple of them.
|
||||
(reset_dies): Helper to allow DIEs to be output multiple times.
|
||||
(dwarf2out_finish): When outputting DIEs to the fat part of an
|
||||
(init_sections_and_labels): Add early LTO debug flag parameter
|
||||
and generate different sections and names if set. Add generation
|
||||
counter for the labels so we can have multiple of them.
|
||||
(reset_dies): Helper to allow DIEs to be output multiple times.
|
||||
(dwarf2out_finish): When outputting DIEs to the fat part of an
|
||||
LTO object first reset DIEs.
|
||||
(dwarf2out_early_finish): Output early DIEs when generating LTO.
|
||||
(dwarf2out_early_finish): Output early DIEs when generating LTO.
|
||||
(modified_type_die): Check for decl_ultimate_origin being self
|
||||
before recursing.
|
||||
(gen_type_die_with_usage): Likewise.
|
||||
(gen_typedef_die): Allow decl_ultimate_origin being self.
|
||||
(set_decl_abstract_flags): Remove.
|
||||
(set_block_abstract_flags): Likewise.
|
||||
(dwarf2out_abstract_function): Treat the early generated DIEs
|
||||
as the abstract copy and only add DW_AT_inline and
|
||||
DW_AT_artificial here and call set_decl_origin_self.
|
||||
(set_decl_abstract_flags): Remove.
|
||||
(set_block_abstract_flags): Likewise.
|
||||
(dwarf2out_abstract_function): Treat the early generated DIEs
|
||||
as the abstract copy and only add DW_AT_inline and
|
||||
DW_AT_artificial here and call set_decl_origin_self.
|
||||
If the DIE has an abstract origin don't do anything.
|
||||
* tree.c (free_lang_data): Build a dummy TRANSLATION_UNIT_DECL
|
||||
if we have none yet (Go fails to build one, PR78628).
|
||||
(variably_modified_type_p): Prevent endless recursion for Ada
|
||||
cyclic pointer types.
|
||||
* lto-streamer-in.c: Include debug.h.
|
||||
(dref_queue): New global.
|
||||
(lto_read_tree_1): Stream in DIE references.
|
||||
(lto_input_tree): Register DIE references.
|
||||
* lto-streamer-in.c: Include debug.h.
|
||||
(dref_queue): New global.
|
||||
(lto_read_tree_1): Stream in DIE references.
|
||||
(lto_input_tree): Register DIE references.
|
||||
(input_function): Stream DECL_DEBUG_ARGS.
|
||||
* lto-streamer-out.c: Include debug.h.
|
||||
(lto_write_tree_1): Output DIE references.
|
||||
(DFS::DFS_write_tree_body): Follow DECL_ABSTRACT_ORIGIN.
|
||||
* lto-streamer-out.c: Include debug.h.
|
||||
(lto_write_tree_1): Output DIE references.
|
||||
(DFS::DFS_write_tree_body): Follow DECL_ABSTRACT_ORIGIN.
|
||||
Force a TRANSLATION_UNIT_DECL DECL_CONTEXT for file-scope decls.
|
||||
(output_function): Stream DECL_DEBUG_ARGS.
|
||||
* tree-streamer-in.c (lto_input_ts_decl_common_tree_pointers):
|
||||
Stream DECL_ABSTRACT_ORIGIN.
|
||||
* tree-streamer-out.c (write_ts_decl_common_tree_pointers): Likewise.
|
||||
* tree-streamer-in.c (lto_input_ts_decl_common_tree_pointers):
|
||||
Stream DECL_ABSTRACT_ORIGIN.
|
||||
* tree-streamer-out.c (write_ts_decl_common_tree_pointers): Likewise.
|
||||
(write_ts_decl_minimal_tree_pointers): Force a TRANSLATION_UNIT_DECL
|
||||
DECL_CONTEXT for file-scope decls.
|
||||
* lto-streamer.h (struct dref_entry): Declare.
|
||||
(dref_queue): Likewise.
|
||||
* lto-streamer.h (struct dref_entry): Declare.
|
||||
(dref_queue): Likewise.
|
||||
* cfgexpand.c (pass_expand::execute): Do not call the
|
||||
outlining_inline_function hook here.
|
||||
* lto-wrapper.c (debug_obj): New global.
|
||||
(tool_cleanup): Unlink it if required.
|
||||
(debug_objcopy): New function.
|
||||
(run_gcc): Handle early debug sections in the IL files by
|
||||
extracting them to separate files, partially linkin them and
|
||||
feeding the result back as result to the linker.
|
||||
* config/darwin.h (DEBUG_LTO_INFO_SECTION, DEBUG_LTO_ABBREV_SECTION,
|
||||
DEBUG_LTO_MACINFO_SECTION, DEBUG_LTO_LINE_SECTION,
|
||||
DEBUG_STR_LTO_SECTION, DEBUG_LTO_MACRO_SECTION): Put early debug
|
||||
sections into a separate segment.
|
||||
* config/darwin.c (darwin_asm_named_section): Handle __GNU_DWARF_LTO
|
||||
segments.
|
||||
(darwin_asm_dwarf_section): Likewise.
|
||||
(darwin_asm_output_dwarf_offset): Likewise.
|
||||
* lto-wrapper.c (debug_obj): New global.
|
||||
(tool_cleanup): Unlink it if required.
|
||||
(debug_objcopy): New function.
|
||||
(run_gcc): Handle early debug sections in the IL files by
|
||||
extracting them to separate files, partially linkin them and
|
||||
feeding the result back as result to the linker.
|
||||
* config/darwin.h (DEBUG_LTO_INFO_SECTION, DEBUG_LTO_ABBREV_SECTION,
|
||||
DEBUG_LTO_MACINFO_SECTION, DEBUG_LTO_LINE_SECTION,
|
||||
DEBUG_STR_LTO_SECTION, DEBUG_LTO_MACRO_SECTION): Put early debug
|
||||
sections into a separate segment.
|
||||
* config/darwin.c (darwin_asm_named_section): Handle __GNU_DWARF_LTO
|
||||
segments.
|
||||
(darwin_asm_dwarf_section): Likewise.
|
||||
(darwin_asm_output_dwarf_offset): Likewise.
|
||||
* config/i386/i386.c (make_resolver_func): Set DECL_IGNORED_P.
|
||||
|
||||
2017-08-21 Richard Sandiford <richard.sandiford@linaro.org>
|
||||
|
Loading…
Reference in New Issue
Block a user