public inbox for git-commits@fedoraproject.org
help / color / mirror / Atom feed
From: Jakub Jelinek <jakub@redhat.com>
To: git-commits@fedoraproject.org
Subject: [rpms/gcc] rhel-f41-base: 8.0.1-0.14
Date: Mon, 29 Jun 2026 12:27:52 GMT	[thread overview]
Message-ID: <178273607253.1.17970425404498281938.rpms-gcc-d301a3c7b82b@fedoraproject.org> (raw)

A new commit has been pushed.

Repo   : rpms/gcc
Branch : rhel-f41-base
Commit : d301a3c7b82b39c19f9d9ebb58bd8086e3d3ce0d
Author : Jakub Jelinek <jakub@redhat.com>
Date   : 2018-02-18T22:01:57+01:00
Stats  : +41/-2694 in 4 file(s)
URL    : https://src.fedoraproject.org/rpms/gcc/c/d301a3c7b82b39c19f9d9ebb58bd8086e3d3ce0d?branch=rhel-f41-base

Log:
8.0.1-0.14

---
diff --git a/.gitignore b/.gitignore
index 237d230..bdc3de8 100644
--- a/.gitignore
+++ b/.gitignore
@@ -36,3 +36,4 @@
 /gcc-8.0.1-20180131.tar.xz
 /gcc-8.0.1-20180207.tar.xz
 /gcc-8.0.1-20180210.tar.xz
+/gcc-8.0.1-20180218.tar.xz

diff --git a/gcc.spec b/gcc.spec
index 4919b75..3352a13 100644
--- a/gcc.spec
+++ b/gcc.spec
@@ -1,10 +1,10 @@
-%global DATE 20180210
-%global SVNREV 257551
+%global DATE 20180218
+%global SVNREV 257796
 %global gcc_version 8.0.1
 %global gcc_major 8
 # Note, gcc_release must be integer, if you want to add suffixes to
-# %{release}, append them after %{gcc_release} on Release: line.
-%global gcc_release 0.13
+# %%{release}, append them after %%{gcc_release} on Release: line.
+%global gcc_release 0.14
 %global nvptx_tools_gitrev c28050f60193b3b95a18866a96f03334e874e78f
 %global nvptx_newlib_gitrev aadc8eb0ec43b7cd0dd2dfb484bae63c8b05ef24
 %global _unpackaged_files_terminate_build 0
@@ -100,21 +100,21 @@ License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ with exceptions and LGPLv2
 Group: Development/Languages
 # The source for this package was pulled from upstream's vcs.  Use the
 # following commands to generate the tarball:
-# svn export svn://gcc.gnu.org/svn/gcc/branches/redhat/gcc-8-branch@%{SVNREV} gcc-%{version}-%{DATE}
-# tar cf - gcc-%{version}-%{DATE} | xz -9e > gcc-%{version}-%{DATE}.tar.xz
+# svn export svn://gcc.gnu.org/svn/gcc/branches/redhat/gcc-8-branch@%%{SVNREV} gcc-%%{version}-%%{DATE}
+# tar cf - gcc-%%{version}-%%{DATE} | xz -9e > gcc-%%{version}-%%{DATE}.tar.xz
 Source0: gcc-%{version}-%{DATE}.tar.xz
 # The source for nvptx-tools package was pulled from upstream's vcs.  Use the
 # following commands to generate the tarball:
 # git clone https://github.com/MentorEmbedded/nvptx-tools.git
 # cd nvptx-tools
-# git archive origin/master --prefix=nvptx-tools-%{nvptx_tools_gitrev}/ | xz -9e > ../nvptx-tools-%{nvptx_tools_gitrev}.tar.xz
+# git archive origin/master --prefix=nvptx-tools-%%{nvptx_tools_gitrev}/ | xz -9e > ../nvptx-tools-%%{nvptx_tools_gitrev}.tar.xz
 # cd ..; rm -rf nvptx-tools
 Source1: nvptx-tools-%{nvptx_tools_gitrev}.tar.xz
 # The source for nvptx-newlib package was pulled from upstream's vcs.  Use the
 # following commands to generate the tarball:
 # git clone https://github.com/MentorEmbedded/nvptx-newlib.git
 # cd nvptx-newlib
-# git archive origin/master --prefix=nvptx-newlib-%{nvptx_newlib_gitrev}/ | xz -9 > ../nvptx-newlib-%{nvptx_newlib_gitrev}.tar.xz
+# git archive origin/master --prefix=nvptx-newlib-%%{nvptx_newlib_gitrev}/ | xz -9 > ../nvptx-newlib-%%{nvptx_newlib_gitrev}.tar.xz
 # cd ..; rm -rf nvptx-newlib
 Source2: nvptx-newlib-%{nvptx_newlib_gitrev}.tar.xz
 %global isl_version 0.16.1
@@ -126,7 +126,7 @@ URL: http://gcc.gnu.org
 # Need binutils which support --hash-style=gnu >= 2.17.50.0.2-7
 # Need binutils which support mffgpr and mftgpr >= 2.17.50.0.2-8
 # Need binutils which support --build-id >= 2.17.50.0.17-3
-# Need binutils which support %gnu_unique_object >= 2.19.51.0.14
+# Need binutils which support %%gnu_unique_object >= 2.19.51.0.14
 # Need binutils which support .cfi_sections >= 2.19.51.0.14-33
 # Need binutils which support --no-add-needed >= 2.20.51.0.2-12
 # Need binutils which support -plugin
@@ -139,6 +139,7 @@ BuildRequires: texinfo, texinfo-tex, /usr/bin/pod2man
 BuildRequires: systemtap-sdt-devel >= 1.3
 BuildRequires: gmp-devel >= 4.1.2-8, mpfr-devel >= 2.2.1, libmpc-devel >= 0.8.1
 BuildRequires: python2-devel, python3-devel
+BuildRequires: gcc, gcc-c++
 %if %{build_go}
 BuildRequires: hostname, procps
 %endif
@@ -189,7 +190,7 @@ Requires: cpp = %{version}-%{release}
 # Need binutils that supports --hash-style=gnu
 # Need binutils that support mffgpr/mftgpr
 # Need binutils that support --build-id
-# Need binutils that support %gnu_unique_object
+# Need binutils that support %%gnu_unique_object
 # Need binutils that support .cfi_sections
 # Need binutils that support --no-add-needed
 # Need binutils that support -plugin
@@ -234,7 +235,6 @@ Patch9: gcc8-aarch64-async-unw-tables.patch
 Patch10: gcc8-foffload-default.patch
 Patch11: gcc8-Wno-format-security.patch
 Patch12: gcc8-rh1512529-aarch64.patch
-Patch13: gcc8-lvu-revert.patch
 
 Patch1000: nvptx-tools-no-ptxas.patch
 Patch1001: nvptx-tools-build.patch
@@ -794,7 +794,6 @@ to NVidia PTX capable devices if available.
 %patch10 -p0 -b .foffload-default~
 %patch11 -p0 -b .Wno-format-security~
 %patch12 -p0 -b .rh1512529-aarch64~
-%patch13 -p0 -b .lvu-revert~
 
 cd nvptx-tools-%{nvptx_tools_gitrev}
 %patch1000 -p1 -b .nvptx-tools-no-ptxas~
@@ -2752,8 +2751,8 @@ fi
 %dir %{_prefix}/lib/gcc/%{gcc_target_platform}
 %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}
 %dir %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include
-#%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/itm.h
-#%{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/include/itm_weak.h
+#%%{_prefix}/lib/gcc/%%{gcc_target_platform}/%%{gcc_major}/include/itm.h
+#%%{_prefix}/lib/gcc/%%{gcc_target_platform}/%%{gcc_major}/include/itm_weak.h
 %ifnarch sparcv9 sparc64 ppc ppc64 ppc64p7
 %{_prefix}/lib/gcc/%{gcc_target_platform}/%{gcc_major}/libitm.so
 %endif
@@ -3053,6 +3052,32 @@ fi
 %endif
 
 %changelog
+* Sun Feb 18 2018 Jakub Jelinek <jakub@redhat.com> 8.0.1-0.14
+- update from the trunk
+  - PRs ada/84277, bootstrap/82939, bootstrap/84405, c++/79064, c++/79626,
+	c++/81853, c++/82468, c++/82664, c++/82764, c++/83227, c++/83835,
+	c++/83990, c++/84045, c++/84080, c++/84151, c++/84192, c++/84263,
+	c++/84281, c++/84314, c++/84330, c++/84333, c++/84338, c++/84341,
+	c++/84350, c++/84364, c++/84368, c++/84375, c++/84376, c++/84420,
+	c++/84421, c/82210, c/84108, c/84305, debug/84319, debug/84342,
+	fortran/35299, fortran/54223, fortran/68746, fortran/80945,
+	fortran/84074, fortran/84270, fortran/84273, fortran/84276,
+	fortran/84313, fortran/84354, fortran/84381, fortran/84385,
+	fortran/84389, fortran/84409, fortran/84418, ipa/84425,
+	libgfortran/84389, libgfortran/84412, libstdc++/81797,
+	middle-end/83665, middle-end/84309, other/82368, preprocessor/83063,
+	preprocessor/83708, rtl-optimization/70023, rtl-optimization/81443,
+	rtl-optimization/83723, rtl-optimization/84169, sanitizer/84307,
+	sanitizer/84340, target/79242, target/81535, target/82862,
+	target/83758, target/83760, target/83831, target/83984, target/84220,
+	target/84239, target/84266, target/84272, target/84279, target/84335,
+	target/84336, target/84359, target/84365, target/84370, target/84372,
+	tree-optimization/83698, tree-optimization/84016,
+	tree-optimization/84190, tree-optimization/84321,
+	tree-optimization/84334, tree-optimization/84339,
+	tree-optimization/84357, tree-optimization/84383,
+	tree-optimization/84399, tree-optimization/84417
+
 * Sat Feb 10 2018 Jakub Jelinek <jakub@redhat.com> 8.0.1-0.13
 - update from the trunk
   - PRs c++/77522, c++/80567, c++/81610, c++/81917, c++/83204, c++/83659,

diff --git a/gcc8-lvu-revert.patch b/gcc8-lvu-revert.patch
deleted file mode 100644
index c47ca1c..0000000
--- a/gcc8-lvu-revert.patch
+++ /dev/null
@@ -1,2679 +0,0 @@
-Revert:
-
-2018-02-09  Alexandre Oliva <aoliva@redhat.com>
-
-	* cfgexpand.c (expand_gimple_basic_block): Handle inline entry
-	markers.
-	* dwarf2out.c (dwarf2_debug_hooks): Enable inline_entry hook.
-	(BLOCK_INLINE_ENTRY_LABEL): New.
-	(dwarf2out_var_location): Disregard inline entry markers.
-	(inline_entry_data): New struct.
-	(inline_entry_data_hasher): New hashtable type.
-	(inline_entry_data_hasher::hash): New.
-	(inline_entry_data_hasher::equal): New.
-	(inline_entry_data_table): New variable.
-	(add_high_low_attributes): Add DW_AT_entry_pc and
-	DW_AT_GNU_entry_view attributes if a pending entry is found
-	in inline_entry_data_table.  Add old entry_pc attribute only
-	if debug nonbinding markers are disabled.
-	(gen_inlined_subroutine_die): Set BLOCK_DIE if nonbinding
-	markers are enabled.
-	(block_within_block_p, dwarf2out_inline_entry): New.
-	(dwarf2out_finish): Check that no entries remained in
-	inline_entry_data_table.
-	* final.c (reemit_insn_block_notes): Handle inline entry notes.
-	(final_scan_insn, notice_source_line): Likewise.
-	(rest_of_clean_state): Skip inline entry markers.
-	* gimple-pretty-print.c (dump_gimple_debug): Handle inline entry
-	markers.
-	* gimple.c (gimple_build_debug_inline_entry): New.
-	* gimple.h (enum gimple_debug_subcode): Add
-	GIMPLE_DEBUG_INLINE_ENTRY.
-	(gimple_build_debug_inline_entry): Declare.
-	(gimple_debug_inline_entry_p): New.
-	(gimple_debug_nonbind_marker_p): Adjust.
-	* insn-notes.def (INLINE_ENTRY): New.
-	* print-rtl.c (rtx_writer::print_rtx_operand_code_0): Handle
-	inline entry marker notes.
-	(print_insn): Likewise.
-	* rtl.h	(NOTE_MARKER_P): Add INLINE_ENTRY support.
-	(INSN_DEBUG_MARKER_KIND): Likewise.
-	(GEN_RTX_DEBUG_MARKER_INLINE_ENTRY_PAT): New.
-	* tree-inline.c	(expand_call_inline): Build and insert
-	debug_inline_entry stmt.
-	* tree-ssa-live.c (remove_unused_scope_block_p): Preserve
-	inline entry blocks early, if nonbind markers are enabled.
-	(dump_scope_block): Dump fragment info.
-	* var-tracking.c (reemit_marker_as_note): Handle inline entry note.
-	* doc/gimple.texi (gimple_debug_inline_entry_p): New.
-	(gimple_build_debug_inline_entry): New.
-	* doc/invoke.texi (gstatement-frontiers, gno-statement-frontiers):
-	Enable/disable inline entry points too.
-	* doc/rtl.texi (NOTE_INSN_INLINE_ENTRY): New.
-	(DEBUG_INSN): Describe inline entry markers.
-
-	* common.opt (gvariable-location-views): New.
-	(gvariable-location-views=incompat5): New.
-	* config.in: Rebuilt.
-	* configure: Rebuilt.
-	* configure.ac: Test assembler for view support.
-	* dwarf2asm.c (dw2_asm_output_symname_uleb128): New.
-	* dwarf2asm.h (dw2_asm_output_symname_uleb128): Declare.
-	* dwarf2out.c (var_loc_view): New typedef.
-	(struct dw_loc_list_struct): Add vl_symbol, vbegin, vend.
-	(dwarf2out_locviews_in_attribute): New.
-	(dwarf2out_locviews_in_loclist): New.
-	(dw_val_equal_p): Compare val_view_list of dw_val_class_view_lists.
-	(enum dw_line_info_opcode): Add LI_adv_address.
-	(struct dw_line_info_table): Add view.
-	(RESET_NEXT_VIEW, RESETTING_VIEW_P): New macros.
-	(DWARF2_ASM_VIEW_DEBUG_INFO): Define default.
-	(zero_view_p): New variable.
-	(ZERO_VIEW_P): New macro.
-	(output_asm_line_debug_info): New.
-	(struct var_loc_node): Add view.
-	(add_AT_view_list, AT_loc_list): New.
-	(add_var_loc_to_decl): Add view param.  Test it against last.
-	(new_loc_list): Add view params.  Record them.
-	(AT_loc_list_ptr): Handle loc and view lists.
-	(view_list_to_loc_list_val_node): New.
-	(print_dw_val): Handle dw_val_class_view_list.
-	(size_of_die): Likewise.
-	(value_format): Likewise.
-	(loc_list_has_views): New.
-	(gen_llsym): Set vl_symbol too.
-	(maybe_gen_llsym, skip_loc_list_entry): New.
-	(dwarf2out_maybe_output_loclist_view_pair): New.
-	(output_loc_list): Output view list or entries too.
-	(output_view_list_offset): New.
-	(output_die): Handle dw_val_class_view_list.
-	(output_dwarf_version): New.
-	(output_compilation_unit_header): Use it.
-	(output_skeleton_debug_sections): Likewise.
-	(output_rnglists, output_line_info): Likewise.
-	(output_pubnames, output_aranges): Update version comments.
-	(output_one_line_info_table): Output view numbers in asm comments.
-	(dw_loc_list): Determine current endview, pass it to new_loc_list.
-	Call maybe_gen_llsym.
-	(loc_list_from_tree_1): Adjust.
-	(add_AT_location_description): Create view list attribute if
-	needed, check it's absent otherwise.
-	(convert_cfa_to_fb_loc_list): Adjust.
-	(maybe_emit_file): Call output_asm_line_debug_info for test.
-	(dwarf2out_var_location): Reset views as needed.  Precompute
-	add_var_loc_to_decl args.  Call get_attr_min_length only if we have the
-	attribute.  Set view.
-	(new_line_info_table): Reset next view.
-	(set_cur_line_info_table): Call output_asm_line_debug_info for test.
-	(dwarf2out_source_line): Likewise.  Output view resets and labels to
-	the assembler, or select appropriate line info opcodes.
-	(prune_unused_types_walk_attribs): Handle dw_val_class_view_list.
-	(optimize_string_length): Catch it.  Adjust.
-	(resolve_addr): Copy vl_symbol along with ll_symbol.  Handle
-	dw_val_class_view_list, and remove it if no longer needed.
-	(hash_loc_list): Hash view numbers.
-	(loc_list_hasher::equal): Compare them.
-	(optimize_location_lists): Check whether a view list symbol is
-	needed, and whether the locview attribute is present, and
-	whether they match.  Remove the locview attribute if no longer
-	needed.
-	(index_location_lists): Call skip_loc_list_entry for test.
-	(dwarf2out_finish): Call output_asm_line_debug_info for test.
-	Use output_dwarf_version.
-	* dwarf2out.h (enum dw_val_class): Add dw_val_class_view_list.
-	(struct dw_val_node): Add val_view_list.
-	* final.c (SEEN_NEXT_VIEW): New.
-	(set_next_view_needed): New.
-	(clear_next_view_needed): New.
-	(maybe_output_next_view): New.
-	(final_start_function): Rename to...
-	(final_start_function_1): ... this.  Take pointer to FIRST,
-	add SEEN parameter.  Emit param bindings in the initial view.
-	(final_start_function): Reintroduce SEEN-less interface.
-	(final): Rename to...
-	(final_1): ... this.  Take SEEN parameter.  Output final pending
-	next view at the end.
-	(final): Reintroduce seen-less interface.
-	(final_scan_insn): Output pending next view before switching
-	sections or ending a block.  Mark the next view as needed when
-	outputting variable locations.  Notify debug backend of section
-	changes, and of location view changes.
-	(rest_of_handle_final): Adjust.
-	* toplev.c (process_options): Autodetect value for debug variable
-	location views option.  Warn on incompat5 without -gdwarf-5.
-	* doc/invoke.texi (gvariable-location-views): New.
-	(gvariable-location-views=incompat5): New.
-	(gno-variable-location-views): New.
-include/
-	* dwarf2.def (DW_AT_GNU_entry_view): New.
-
-	* dwarf2.def (DW_AT_GNU_locviews): New.
-	* dwarf2.h (enum dwarf_location_list_entry_type): Add
-	DW_LLE_GNU_view_pair.
-	(DW_LLE_view_pair): Define.
-
---- include/dwarf2.def	(revision 257511)
-+++ include/dwarf2.def	(revision 257509)
-@@ -443,8 +443,6 @@ DW_AT (DW_AT_GNU_pubtypes, 0x2135)
- /* Attribute for discriminator.
-    See http://gcc.gnu.org/wiki/Discriminator  */
- DW_AT (DW_AT_GNU_discriminator, 0x2136)
--DW_AT (DW_AT_GNU_locviews, 0x2137)
--DW_AT (DW_AT_GNU_entry_view, 0x2138)
- /* VMS extensions.  */
- DW_AT (DW_AT_VMS_rtnbeg_pd_address, 0x2201)
- /* GNAT extensions.  */
---- include/dwarf2.h	(revision 257511)
-+++ include/dwarf2.h	(revision 257509)
-@@ -298,14 +298,6 @@ enum dwarf_location_list_entry_type
-     DW_LLE_start_end = 0x07,
-     DW_LLE_start_length = 0x08,
- 
--    /* <http://lists.dwarfstd.org/private.cgi/dwarf-discuss-dwarfstd.org/2017-April/004347.html>
--       has the proposal for now; only available to list members.
--
--       A (possibly updated) copy of the proposal is available at
--       <http://people.redhat.com/aoliva/papers/sfn/dwarf6-sfn-lvu.txt>.  */
--    DW_LLE_GNU_view_pair = 0x09,
--#define DW_LLE_view_pair DW_LLE_GNU_view_pair
--
-     /* Former extension for Fission.
-        See http://gcc.gnu.org/wiki/DebugFission.  */
-     DW_LLE_GNU_end_of_list_entry = 0x00,
---- gcc/doc/gimple.texi	(revision 257511)
-+++ gcc/doc/gimple.texi	(revision 257509)
-@@ -836,11 +836,6 @@ Return true if g is a @code{GIMPLE_DEBUG
- a source statement.
- @end deftypefn
- 
--@deftypefn {GIMPLE function} gimple_debug_inline_entry_p (gimple g)
--Return true if g is a @code{GIMPLE_DEBUG} that marks the entry
--point of an inlined function.
--@end deftypefn
--
- @deftypefn {GIMPLE function} gimple_debug_nonbind_marker_p (gimple g)
- Return true if g is a @code{GIMPLE_DEBUG} that marks a program location,
- without any variable binding.
-@@ -1546,7 +1541,6 @@ Set the conditional @code{COND_STMT} to
- @cindex @code{GIMPLE_DEBUG}
- @cindex @code{GIMPLE_DEBUG_BIND}
- @cindex @code{GIMPLE_DEBUG_BEGIN_STMT}
--@cindex @code{GIMPLE_DEBUG_INLINE_ENTRY}
- 
- @deftypefn {GIMPLE function} gdebug *gimple_build_debug_bind (tree var, @
- tree value, gimple stmt)
-@@ -1632,18 +1626,6 @@ observable, and that none of the side ef
- statements are.
- @end deftypefn
- 
--@deftypefn {GIMPLE function} gimple gimple_build_debug_inline_entry (tree block, location_t location)
--Build a @code{GIMPLE_DEBUG} statement with
--@code{GIMPLE_DEBUG_INLINE_ENTRY} @code{subcode}.  The effect of this
--statement is to tell debug information generation machinery that a
--function call at @code{location} underwent inline substitution, that
--@code{block} is the enclosing lexical block created for the
--substitution, and that at the point of the program in which the stmt is
--inserted, all parameters for the inlined function are bound to the
--respective arguments, and none of the side effects of its stmts are
--observable.
--@end deftypefn
--
- @node @code{GIMPLE_EH_FILTER}
- @subsection @code{GIMPLE_EH_FILTER}
- @cindex @code{GIMPLE_EH_FILTER}
---- gcc/doc/invoke.texi	(revision 257511)
-+++ gcc/doc/invoke.texi	(revision 257509)
-@@ -348,7 +348,6 @@ Objective-C and Objective-C++ Dialects}.
- -gstabs  -gstabs+  -gstrict-dwarf  -gno-strict-dwarf @gol
- -gcolumn-info  -gno-column-info @gol
- -gstatement-frontiers  -gno-statement-frontiers @gol
---gvariable-location-views  -gno-variable-location-views @gol
- -gvms  -gxcoff  -gxcoff+  -gz@r{[}=@var{type}@r{]} @gol
- -fdebug-prefix-map=@var{old}=@var{new}  -fdebug-types-section @gol
- -fno-eliminate-unused-debug-types @gol
-@@ -7256,34 +7255,6 @@ markers in the line number table.  This
- compiling with optimization (@option{-Os}, @option{-O}, @option{-O2},
- @dots{}), and outputting DWARF 2 debug information at the normal level.
- 
--@item -gvariable-location-views
--@item -gvariable-location-views=incompat5
--@item -gno-variable-location-views
--@opindex gvariable-location-views
--@opindex gvariable-location-views=incompat5
--@opindex gno-variable-location-views
--Augment variable location lists with progressive view numbers implied
--from the line number table.  This enables debug information consumers to
--inspect state at certain points of the program, even if no instructions
--associated with the corresponding source locations are present at that
--point.  If the assembler lacks support for view numbers in line number
--tables, this will cause the compiler to emit the line number table,
--which generally makes them somewhat less compact.  The augmented line
--number tables and location lists are fully backward-compatible, so they
--can be consumed by debug information consumers that are not aware of
--these augmentations, but they won't derive any benefit from them either.
--This is enabled by default when outputting DWARF 2 debug information at
--the normal level, as long as @option{-fvar-tracking-assignments} is
--enabled and @option{-gstrict-dwarf} is not.
--
--There is a proposed representation for view numbers that is not backward
--compatible with the location list format introduced in DWARF 5, that can
--be enabled with @option{-gvariable-location-views=incompat5}.  This
--option may be removed in the future, is only provided as a reference
--implementation of the proposed representation.  Debug information
--consumers are not expected to support this extended format, and they
--would be rendered unable to decode location lists using it.
--
- @item -gz@r{[}=@var{type}@r{]}
- @opindex gz
- Produce compressed debug sections in DWARF format, if that is supported.
---- gcc/doc/rtl.texi	(revision 257511)
-+++ gcc/doc/rtl.texi	(revision 257509)
-@@ -3670,10 +3670,7 @@ Refers to a parameter that was completel
- @item (debug_marker:@var{mode})
- Marks a program location.  With @code{VOIDmode}, it stands for the
- beginning of a statement, a recommended inspection point logically after
--all prior side effects, and before any subsequent side effects.  With
--@code{BLKmode}, it indicates an inline entry point: the lexical block
--encoded in the @code{INSN_LOCATION} is the enclosing block that encloses
--the inlined function.
-+all prior side effects, and before any subsequent side effects.
- 
- @end table
- 
-@@ -3957,13 +3954,6 @@ This note is used to generate @code{is_s
- debuggign information.  It indicates the beginning of a user
- statement.
- 
--@findex NOTE_INSN_INLINE_ENTRY
--@item NOTE_INSN_INLINE_ENTRY
--This note is used to generate @code{entry_pc} for inlined subroutines in
--debugging information.  It indicates an inspection point at which all
--arguments for the inlined function have been bound, and before its first
--statement.
--
- @end table
- 
- These codes are printed symbolically when they appear in debugging dumps.
-@@ -3981,12 +3971,8 @@ binds a user variable tree to an RTL rep
- it stands for the value bound to the corresponding
- @code{DEBUG_EXPR_DECL}.
- 
--@code{GIMPLE_DEBUG_BEGIN_STMT} and @code{GIMPLE_DEBUG_INLINE_ENTRY} are
--expanded to RTL as a @code{DEBUG_INSN} with a @code{DEBUG_MARKER}
--@code{PATTERN}; the difference is the RTL mode: the former's
--@code{DEBUG_MARKER} is @code{VOIDmode}, whereas the latter is
--@code{BLKmode}; information about the inlined function can be taken from
--the lexical block encoded in the @code{INSN_LOCATION}.  These
-+@code{GIMPLE_DEBUG_BEGIN_STMT} is expanded to RTL as a @code{DEBUG_INSN}
-+with a @code{VOIDmode} @code{DEBUG_MARKER} @code{PATTERN}.  These
- @code{DEBUG_INSN}s, that do not carry @code{VAR_LOCATION} information,
- just @code{DEBUG_MARKER}s, can be detected by testing
- @code{DEBUG_MARKER_INSN_P}, whereas those that do can be recognized as
-@@ -3997,8 +3983,8 @@ with respect to each other, particularly
- information is kept in pseudo-instruction form, so that, unlike notes,
- it gets the same treatment and adjustments that regular instructions
- would.  It is the variable tracking pass that turns these
--pseudo-instructions into @code{NOTE_INSN_VAR_LOCATION},
--@code{NOTE_INSN_BEGIN_STMT} and @code{NOTE_INSN_INLINE_ENTRY} notes,
-+pseudo-instructions into @code{NOTE_INSN_VAR_LOCATION} and
-+@code{NOTE_INSN_BEGIN_STMT} notes,
- analyzing control flow, value equivalences and changes to registers and
- memory referenced in value expressions, propagating the values of debug
- temporaries and determining expressions that can be used to compute the
---- gcc/dwarf2asm.c	(revision 257511)
-+++ gcc/dwarf2asm.c	(revision 257509)
-@@ -767,35 +767,6 @@ dw2_asm_output_data_sleb128 (HOST_WIDE_I
-   va_end (ap);
- }
- 
--/* Output symbol LAB1 as an unsigned LEB128 quantity.  LAB1 should be
--   an assembler-computed constant, e.g. a view number, because we
--   can't have relocations in LEB128 quantities.  */
--
--void
--dw2_asm_output_symname_uleb128 (const char *lab1 ATTRIBUTE_UNUSED,
--				const char *comment, ...)
--{
--  va_list ap;
--
--  va_start (ap, comment);
--
--#ifdef HAVE_AS_LEB128
--  fputs ("\t.uleb128 ", asm_out_file);
--  assemble_name (asm_out_file, lab1);
--#else
--  gcc_unreachable ();
--#endif
--
--  if (flag_debug_asm && comment)
--    {
--      fprintf (asm_out_file, "\t%s ", ASM_COMMENT_START);
--      vfprintf (asm_out_file, comment, ap);
--    }
--  fputc ('\n', asm_out_file);
--
--  va_end (ap);
--}
--
- void
- dw2_asm_output_delta_uleb128 (const char *lab1 ATTRIBUTE_UNUSED,
- 			      const char *lab2 ATTRIBUTE_UNUSED,
---- gcc/dwarf2asm.h	(revision 257511)
-+++ gcc/dwarf2asm.h	(revision 257509)
-@@ -70,10 +70,6 @@ extern void dw2_asm_output_data_sleb128
- 					 const char *, ...)
-      ATTRIBUTE_NULL_PRINTF_2;
- 
--extern void dw2_asm_output_symname_uleb128 (const char *,
--					    const char *, ...)
--     ATTRIBUTE_NULL_PRINTF_2;
--
- extern void dw2_asm_output_delta_uleb128 (const char *, const char *,
- 					  const char *, ...)
-      ATTRIBUTE_NULL_PRINTF_3;
---- gcc/configure	(revision 257511)
-+++ gcc/configure	(revision 257509)
-@@ -27825,52 +27825,6 @@ $as_echo "$gcc_cv_as_dwarf2_file_buggy"
- 
- $as_echo "#define HAVE_AS_DWARF2_DEBUG_LINE 1" >>confdefs.h
- 
--
--    if test $gcc_cv_as_leb128 = yes; then
--	conftest_s="\
--	.file 1 \"conftest.s\"
--	.loc 1 3 0 view .LVU1
--	$insn
--	.data
--	.uleb128 .LVU1
--	.uleb128 .LVU1
--"
--	{ $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler for dwarf2 debug_view support" >&5
--$as_echo_n "checking assembler for dwarf2 debug_view support... " >&6; }
--if test "${gcc_cv_as_dwarf2_debug_view+set}" = set; then :
--  $as_echo_n "(cached) " >&6
--else
--  gcc_cv_as_dwarf2_debug_view=no
--    if test $in_tree_gas = yes; then
--    if test $in_tree_gas_is_elf = yes \
--  && test $gcc_cv_gas_vers -ge `expr \( \( 2 \* 1000 \) + 27 \) \* 1000 + 0`
--  then gcc_cv_as_dwarf2_debug_view=yes
--fi
--  elif test x$gcc_cv_as != x; then
--    $as_echo "$conftest_s" > conftest.s
--    if { ac_try='$gcc_cv_as $gcc_cv_as_flags  -o conftest.o conftest.s >&5'
--  { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
--  (eval $ac_try) 2>&5
--  ac_status=$?
--  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
--  test $ac_status = 0; }; }
--    then
--	gcc_cv_as_dwarf2_debug_view=yes
--    else
--      echo "configure: failed program was" >&5
--      cat conftest.s >&5
--    fi
--    rm -f conftest.o conftest.s
--  fi
--fi
--{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_as_dwarf2_debug_view" >&5
--$as_echo "$gcc_cv_as_dwarf2_debug_view" >&6; }
--if test $gcc_cv_as_dwarf2_debug_view = yes; then
--
--$as_echo "#define HAVE_AS_DWARF2_DEBUG_VIEW 1" >>confdefs.h
--
--fi
--    fi
-  fi
- 
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler for --gdwarf2 option" >&5
---- gcc/final.c	(revision 257511)
-+++ gcc/final.c	(revision 257509)
-@@ -110,7 +110,6 @@ along with GCC; see the file COPYING3.
- /* Bitflags used by final_scan_insn.  */
- #define SEEN_NOTE	1
- #define SEEN_EMITTED	2
--#define SEEN_NEXT_VIEW	4
- 
- /* Last insn processed by final_scan_insn.  */
- static rtx_insn *debug_insn;
-@@ -1611,7 +1610,6 @@ reemit_insn_block_notes (void)
- 	    break;
- 
- 	  case NOTE_INSN_BEGIN_STMT:
--	  case NOTE_INSN_INLINE_ENTRY:
- 	    this_block = LOCATION_BLOCK (NOTE_MARKER_LOCATION (insn));
- 	    goto set_cur_block_to_this_block;
- 
-@@ -1694,67 +1692,6 @@ get_some_local_dynamic_name ()
-   return 0;
- }
- 
--/* Arrange for us to emit a source location note before any further
--   real insns or section changes, by setting the SEEN_NEXT_VIEW bit in
--   *SEEN, as long as we are keeping track of location views.  The bit
--   indicates we have referenced the next view at the current PC, so we
--   have to emit it.  This should be called next to the var_location
--   debug hook.  */
--
--static inline void
--set_next_view_needed (int *seen)
--{
--  if (debug_variable_location_views)
--    *seen |= SEEN_NEXT_VIEW;
--}
--
--/* Clear the flag in *SEEN indicating we need to emit the next view.
--   This should be called next to the source_line debug hook.  */
--
--static inline void
--clear_next_view_needed (int *seen)
--{
--  *seen &= ~SEEN_NEXT_VIEW;
--}
--
--/* Test whether we have a pending request to emit the next view in
--   *SEEN, and emit it if needed, clearing the request bit.  */
--
--static inline void
--maybe_output_next_view (int *seen)
--{
--  if ((*seen & SEEN_NEXT_VIEW) != 0)
--    {
--      clear_next_view_needed (seen);
--      (*debug_hooks->source_line) (last_linenum, last_columnnum,
--				   last_filename, last_discriminator,
--				   false);
--    }
--}
--
--/* We want to emit param bindings (before the first begin_stmt) in the
--   initial view, if we are emitting views.  To that end, we may
--   consume initial notes in the function, processing them in
--   final_start_function, before signaling the beginning of the
--   prologue, rather than in final.
--
--   We don't test whether the DECLs are PARM_DECLs: the assumption is
--   that there will be a NOTE_INSN_BEGIN_STMT marker before any
--   non-parameter NOTE_INSN_VAR_LOCATION.  It's ok if the marker is not
--   there, we'll just have more variable locations bound in the initial
--   view, which is consistent with their being bound without any code
--   that would give them a value.  */
--
--static inline bool
--in_initial_view_p (rtx_insn *insn)
--{
--  return (!DECL_IGNORED_P (current_function_decl)
--	  && debug_variable_location_views
--	  && insn && GET_CODE (insn) == NOTE
--	  && (NOTE_KIND (insn) == NOTE_INSN_VAR_LOCATION
--	      || NOTE_KIND (insn) == NOTE_INSN_DELETED));
--}
--
- /* Output assembler code for the start of a function,
-    and initialize some of the variables in this file
-    for the new function.  The label for the function and associated
-@@ -1762,15 +1699,12 @@ in_initial_view_p (rtx_insn *insn)
- 
-    FIRST is the first insn of the rtl for the function being compiled.
-    FILE is the file to write assembler code to.
--   SEEN should be initially set to zero, and it may be updated to
--   indicate we have references to the next location view, that would
--   require us to emit it at the current PC.
-    OPTIMIZE_P is nonzero if we should eliminate redundant
-      test and compare insns.  */
- 
--static void
--final_start_function_1 (rtx_insn **firstp, FILE *file, int *seen,
--			int optimize_p ATTRIBUTE_UNUSED)
-+void
-+final_start_function (rtx_insn *first, FILE *file,
-+		      int optimize_p ATTRIBUTE_UNUSED)
- {
-   block_depth = 0;
- 
-@@ -1788,21 +1722,8 @@ final_start_function_1 (rtx_insn **first
-   if (flag_sanitize & SANITIZE_ADDRESS)
-     asan_function_start ();
- 
--  rtx_insn *first = *firstp;
--  if (in_initial_view_p (first))
--    {
--      do
--	{
--	  final_scan_insn (first, file, 0, 0, seen);
--	  first = NEXT_INSN (first);
--	}
--      while (in_initial_view_p (first));
--      *firstp = first;
--    }
--
-   if (!DECL_IGNORED_P (current_function_decl))
--    debug_hooks->begin_prologue (last_linenum, last_columnnum,
--				 last_filename);
-+    debug_hooks->begin_prologue (last_linenum, last_columnnum, last_filename);
- 
-   if (!dwarf2_debug_info_emitted_p (current_function_decl))
-     dwarf2out_begin_prologue (0, 0, NULL);
-@@ -1878,17 +1799,6 @@ final_start_function_1 (rtx_insn **first
-     profile_after_prologue (file);
- }
- 
--/* This is an exported final_start_function_1, callable without SEEN.  */
--
--void
--final_start_function (rtx_insn *first, FILE *file,
--		      int optimize_p ATTRIBUTE_UNUSED)
--{
--  int seen = 0;
--  final_start_function_1 (&first, file, &seen, optimize_p);
--  gcc_assert (seen == 0);
--}
--
- static void
- profile_after_prologue (FILE *file ATTRIBUTE_UNUSED)
- {
-@@ -2018,10 +1928,11 @@ dump_basic_block_info (FILE *file, rtx_i
- /* Output assembler code for some insns: all or part of a function.
-    For description of args, see `final_start_function', above.  */
- 
--static void
--final_1 (rtx_insn *first, FILE *file, int seen, int optimize_p)
-+void
-+final (rtx_insn *first, FILE *file, int optimize_p)
- {
-   rtx_insn *insn, *next;
-+  int seen = 0;
- 
-   /* Used for -dA dump.  */
-   basic_block *start_to_bb = NULL;
-@@ -2088,8 +1999,6 @@ final_1 (rtx_insn *first, FILE *file, in
-       insn = final_scan_insn (insn, file, optimize_p, 0, &seen);
-     }
- 
--  maybe_output_next_view (&seen);
--
-   if (flag_debug_asm)
-     {
-       free (start_to_bb);
-@@ -2106,23 +2015,6 @@ final_1 (rtx_insn *first, FILE *file, in
- 	delete_insn (insn);
-     }
- }
--
--/* This is an exported final_1, callable without SEEN.  */
--
--void
--final (rtx_insn *first, FILE *file, int optimize_p)
--{
--  /* Those that use the internal final_start_function_1/final_1 API
--     skip initial debug bind notes in final_start_function_1, and pass
--     the modified FIRST to final_1.  But those that use the public
--     final_start_function/final APIs, final_start_function can't move
--     FIRST because it's not passed by reference, so if they were
--     skipped there, skip them again here.  */
--  while (in_initial_view_p (first))
--    first = NEXT_INSN (first);
--
--  final_1 (first, file, 0, optimize_p);
--}
- \f
- const char *
- get_insn_template (int code, rtx insn)
-@@ -2263,8 +2155,6 @@ final_scan_insn (rtx_insn *insn, FILE *f
- 	  break;
- 
- 	case NOTE_INSN_SWITCH_TEXT_SECTIONS:
--	  maybe_output_next_view (seen);
--
- 	  in_cold_section_p = !in_cold_section_p;
- 
- 	  if (in_cold_section_p)
-@@ -2411,8 +2301,6 @@ final_scan_insn (rtx_insn *insn, FILE *f
- 	  break;
- 
- 	case NOTE_INSN_BLOCK_END:
--	  maybe_output_next_view (seen);
--
- 	  if (debug_info_level == DINFO_LEVEL_NORMAL
- 	      || debug_info_level == DINFO_LEVEL_VERBOSE
- 	      || write_symbols == DWARF2_DEBUG
-@@ -2469,10 +2357,7 @@ final_scan_insn (rtx_insn *insn, FILE *f
- 	case NOTE_INSN_VAR_LOCATION:
- 	case NOTE_INSN_CALL_ARG_LOCATION:
- 	  if (!DECL_IGNORED_P (current_function_decl))
--	    {
--	      debug_hooks->var_location (insn);
--	      set_next_view_needed (seen);
--	    }
-+	    debug_hooks->var_location (insn);
- 	  break;
- 
- 	case NOTE_INSN_BEGIN_STMT:
-@@ -2480,23 +2365,9 @@ final_scan_insn (rtx_insn *insn, FILE *f
- 	  if (!DECL_IGNORED_P (current_function_decl)
- 	      && notice_source_line (insn, NULL))
- 	    {
--	    output_source_line:
- 	      (*debug_hooks->source_line) (last_linenum, last_columnnum,
- 					   last_filename, last_discriminator,
- 					   true);
--	      clear_next_view_needed (seen);
--	    }
--	  break;
--
--	case NOTE_INSN_INLINE_ENTRY:
--	  gcc_checking_assert (cfun->debug_nonbind_markers);
--	  if (!DECL_IGNORED_P (current_function_decl))
--	    {
--	      if (!notice_source_line (insn, NULL))
--		break;
--	      (*debug_hooks->inline_entry) (LOCATION_BLOCK
--					    (NOTE_MARKER_LOCATION (insn)));
--	      goto output_source_line;
- 	    }
- 	  break;
- 
-@@ -2692,10 +2563,6 @@ final_scan_insn (rtx_insn *insn, FILE *f
- 
- 	    switch_to_section (current_function_section ());
- 
--	    if (debug_variable_location_views
--		&& !DECL_IGNORED_P (current_function_decl))
--	      debug_hooks->var_location (insn);
--
- 	    break;
- 	  }
- 	/* Output this line note if it is the first or the last line
-@@ -2708,12 +2575,7 @@ final_scan_insn (rtx_insn *insn, FILE *f
- 	    (*debug_hooks->source_line) (last_linenum, last_columnnum,
- 					 last_filename, last_discriminator,
- 					 is_stmt);
--	    clear_next_view_needed (seen);
- 	  }
--	else
--	  maybe_output_next_view (seen);
--
--	gcc_checking_assert (!DEBUG_INSN_P (insn));
- 
- 	if (GET_CODE (body) == PARALLEL
- 	    && GET_CODE (XVECEXP (body, 0, 0)) == ASM_INPUT)
-@@ -3180,8 +3042,7 @@ final_scan_insn (rtx_insn *insn, FILE *f
- 	/* Let the debug info back-end know about this call.  We do this only
- 	   after the instruction has been emitted because labels that may be
- 	   created to reference the call instruction must appear after it.  */
--	if ((debug_variable_location_views || call_insn != NULL)
--	    && !DECL_IGNORED_P (current_function_decl))
-+	if (call_insn != NULL && !DECL_IGNORED_P (current_function_decl))
- 	  debug_hooks->var_location (insn);
- 
- 	current_output_insn = debug_insn = 0;
-@@ -3203,17 +3064,6 @@ notice_source_line (rtx_insn *insn, bool
-   if (NOTE_MARKER_P (insn))
-     {
-       location_t loc = NOTE_MARKER_LOCATION (insn);
--      /* The inline entry markers (gimple, insn, note) carry the
--	 location of the call, because that's what we want to carry
--	 during compilation, but the location we want to output in
--	 debug information for the inline entry point is the location
--	 of the function itself.  */
--      if (NOTE_KIND (insn) == NOTE_INSN_INLINE_ENTRY)
--	{
--	  tree block = LOCATION_BLOCK (loc);
--	  tree fn = block_ultimate_origin (block);
--	  loc = DECL_SOURCE_LOCATION (fn);
--	}
-       expanded_location xloc = expand_location (loc);
-       if (xloc.line == 0)
- 	{
-@@ -4631,10 +4481,8 @@ rest_of_handle_final (void)
-     delete_vta_debug_insns (false);
- 
-   assemble_start_function (current_function_decl, fnname);
--  rtx_insn *first = get_insns ();
--  int seen = 0;
--  final_start_function_1 (&first, asm_out_file, &seen, optimize);
--  final_1 (first, asm_out_file, seen, optimize);
-+  final_start_function (get_insns (), asm_out_file, optimize);
-+  final (get_insns (), asm_out_file, optimize);
-   if (flag_ipa_ra
-       && !lookup_attribute ("noipa", DECL_ATTRIBUTES (current_function_decl)))
-     collect_fn_hard_reg_usage ();
-@@ -4820,7 +4668,6 @@ rest_of_clean_state (void)
- 	  && (!NOTE_P (insn) ||
- 	      (NOTE_KIND (insn) != NOTE_INSN_VAR_LOCATION
- 	       && NOTE_KIND (insn) != NOTE_INSN_BEGIN_STMT
--	       && NOTE_KIND (insn) != NOTE_INSN_INLINE_ENTRY
- 	       && NOTE_KIND (insn) != NOTE_INSN_CALL_ARG_LOCATION
- 	       && NOTE_KIND (insn) != NOTE_INSN_BLOCK_BEG
- 	       && NOTE_KIND (insn) != NOTE_INSN_BLOCK_END
---- gcc/insn-notes.def	(revision 257511)
-+++ gcc/insn-notes.def	(revision 257509)
-@@ -71,10 +71,6 @@ INSN_NOTE (CALL_ARG_LOCATION)
- /* The beginning of a statement.  */
- INSN_NOTE (BEGIN_STMT)
- 
--/* The entry point for an inlined function.  Its NOTE_BLOCK references
--   the lexical block whose abstract origin is the inlined function.  */
--INSN_NOTE (INLINE_ENTRY)
--
- /* Record the struct for the following basic block.  Uses
-    NOTE_BASIC_BLOCK.  FIXME: Redundant with the basic block pointer
-    now included in every insn.  NOTE: If there's no CFG anymore, in other words,
---- gcc/toplev.c	(revision 257511)
-+++ gcc/toplev.c	(revision 257509)
-@@ -1558,22 +1558,6 @@ process_options (void)
- 	     || write_symbols == VMS_AND_DWARF2_DEBUG)
- 	 && !(flag_selective_scheduling || flag_selective_scheduling2));
- 
--  if (debug_variable_location_views == AUTODETECT_VALUE)
--    {
--      debug_variable_location_views = flag_var_tracking
--	&& debug_info_level >= DINFO_LEVEL_NORMAL
--	&& (write_symbols == DWARF2_DEBUG
--	    || write_symbols == VMS_AND_DWARF2_DEBUG)
--	&& !dwarf_strict;
--    }
--  else if (debug_variable_location_views == -1 && dwarf_version != 5)
--    {
--      warning_at (UNKNOWN_LOCATION, 0,
--		  "without -gdwarf-5, -gvariable-location-views=incompat5 "
--		  "is equivalent to -gvariable-location-views");
--      debug_variable_location_views = 1;
--    }
--
-   if (flag_tree_cselim == AUTODETECT_VALUE)
-     {
-       if (HAVE_conditional_move)
---- gcc/config.in	(revision 257511)
-+++ gcc/config.in	(revision 257509)
-@@ -358,12 +358,6 @@
- #endif
- 
- 
--/* Define if your assembler supports views in dwarf2 .loc directives. */
--#ifndef USED_FOR_TARGET
--#undef HAVE_AS_DWARF2_DEBUG_VIEW
--#endif
--
--
- /* Define if your assembler supports the R_PPC64_ENTRY relocation. */
- #ifndef USED_FOR_TARGET
- #undef HAVE_AS_ENTRY_MARKERS
---- gcc/dwarf2out.c	(revision 257511)
-+++ gcc/dwarf2out.c	(revision 257509)
-@@ -1291,8 +1291,6 @@ struct GTY((for_user)) addr_table_entry
-   GTY ((desc ("%1.kind"))) addr;
- };
- 
--typedef unsigned int var_loc_view;
--
- /* Location lists are ranges + location descriptions for that range,
-    so you can track variables that are in different places over
-    their entire life.  */
-@@ -1302,11 +1300,9 @@ typedef struct GTY(()) dw_loc_list_struc
-   addr_table_entry *begin_entry;
-   const char *end;  /* Label for end of range */
-   char *ll_symbol; /* Label for beginning of location list.
--		      Only on head of list.  */
--  char *vl_symbol; /* Label for beginning of view list.  Ditto.  */
-+		      Only on head of list */
-   const char *section; /* Section this loclist is relative to */
-   dw_loc_descr_ref expr;
--  var_loc_view vbegin, vend;
-   hashval_t hash;
-   /* True if all addresses in this and subsequent lists are known to be
-      resolved.  */
-@@ -1343,29 +1339,6 @@ dwarf_stack_op_name (unsigned int op)
-   return "OP_<unknown>";
- }
- 
--/* Return TRUE iff we're to output location view lists as a separate
--   attribute next to the location lists, as an extension compatible
--   with DWARF 2 and above.  */
--
--static inline bool
--dwarf2out_locviews_in_attribute ()
--{
--  return debug_variable_location_views == 1;
--}
--
--/* Return TRUE iff we're to output location view lists as part of the
--   location lists, as proposed for standardization after DWARF 5.  */
--
--static inline bool
--dwarf2out_locviews_in_loclist ()
--{
--#ifndef DW_LLE_view_pair
--  return false;
--#else
--  return debug_variable_location_views == -1;
--#endif
--}
--
- /* Return a pointer to a newly allocated location description.  Location
-    descriptions are simple expression terms that can be strung
-    together to form more complicated location (address) descriptions.  */
-@@ -1428,8 +1401,6 @@ dw_val_equal_p (dw_val_node *a, dw_val_n
-       return a->v.val_loc == b->v.val_loc;
-     case dw_val_class_loc_list:
-       return a->v.val_loc_list == b->v.val_loc_list;
--    case dw_val_class_view_list:
--      return a->v.val_view_list == b->v.val_view_list;
-     case dw_val_class_die_ref:
-       return a->v.val_die_ref.die == b->v.val_die_ref.die;
-     case dw_val_class_fde_ref:
-@@ -2747,7 +2718,6 @@ static void dwarf2out_imported_module_or
- 						 dw_die_ref);
- static void dwarf2out_abstract_function (tree);
- static void dwarf2out_var_location (rtx_insn *);
--static void dwarf2out_inline_entry (tree);
- static void dwarf2out_size_function (tree);
- static void dwarf2out_begin_function (tree);
- static void dwarf2out_end_function (unsigned int);
-@@ -2801,7 +2771,7 @@ const struct gcc_debug_hooks dwarf2_debu
-   debug_nothing_rtx_code_label,	/* label */
-   debug_nothing_int,		/* handle_pch */
-   dwarf2out_var_location,
--  dwarf2out_inline_entry,	/* inline_entry */
-+  debug_nothing_tree,		/* inline_entry */
-   dwarf2out_size_function,	/* size_function */
-   dwarf2out_switch_text_section,
-   dwarf2out_set_name,
-@@ -2905,15 +2875,7 @@ enum dw_line_info_opcode {
-   LI_set_epilogue_begin,
- 
-   /* Emit a DW_LNE_set_discriminator.  */
--  LI_set_discriminator,
--
--  /* Output a Fixed Advance PC; the target PC is the label index; the
--     base PC is the previous LI_adv_address or LI_set_address entry.
--     We only use this when emitting debug views without assembler
--     support, at explicit user request.  Ideally, we should only use
--     it when the offset might be zero but we can't tell: it's the only
--     way to maybe change the PC without resetting the view number.  */
--  LI_adv_address
-+  LI_set_discriminator
- };
- 
- typedef struct GTY(()) dw_line_info_struct {
-@@ -2935,25 +2897,6 @@ struct GTY(()) dw_line_info_table {
-   bool is_stmt;
-   bool in_use;
- 
--  /* This denotes the NEXT view number.
--
--     If it is 0, it is known that the NEXT view will be the first view
--     at the given PC.
--
--     If it is -1, we've advanced PC but we haven't emitted a line location yet,
--     so we shouldn't use this view number.
--
--     The meaning of other nonzero values depends on whether we're
--     computing views internally or leaving it for the assembler to do
--     so.  If we're emitting them internally, view denotes the view
--     number since the last known advance of PC.  If we're leaving it
--     for the assembler, it denotes the LVU label number that we're
--     going to ask the assembler to assign.  */
--  var_loc_view view;
--
--#define RESET_NEXT_VIEW(x) ((x) = (var_loc_view)0)
--#define RESETTING_VIEW_P(x) ((x) == (var_loc_view)0)
--
-   vec<dw_line_info_entry, va_gc> *entries;
- };
- 
-@@ -3155,71 +3098,6 @@ skeleton_chain_node;
- #endif
- #endif
- 
--/* Use assembler views in line directives if available.  */
--#ifndef DWARF2_ASM_VIEW_DEBUG_INFO
--#ifdef HAVE_AS_DWARF2_DEBUG_VIEW
--#define DWARF2_ASM_VIEW_DEBUG_INFO 1
--#else
--#define DWARF2_ASM_VIEW_DEBUG_INFO 0
--#endif
--#endif
--
--/* A bit is set in ZERO_VIEW_P if we are using the assembler-supported
--   view computation, and it refers to a view identifier for which we
--   will not emit a label because it is known to map to a view number
--   zero.  We won't allocate the bitmap if we're not using assembler
--   support for location views, but we have to make the variable
--   visible for GGC and for code that will be optimized out for lack of
--   support but that's still parsed and compiled.  We could abstract it
--   out with macros, but it's not worth it.  */
--static GTY(()) bitmap zero_view_p;
--
--/* Evaluate to TRUE iff N is known to identify the first location view
--   at its PC.  When not using assembler location view computation,
--   that must be view number zero.  Otherwise, ZERO_VIEW_P is allocated
--   and views label numbers recorded in it are the ones known to be
--   zero.  */
--#define ZERO_VIEW_P(N) (zero_view_p				\
--			? bitmap_bit_p (zero_view_p, (N))	\
--			: (N) == 0)
--
--/* Return true iff we're to emit .loc directives for the assembler to
--   generate line number sections.
--
--   When we're not emitting views, all we need from the assembler is
--   support for .loc directives.
--
--   If we are emitting views, we can only use the assembler's .loc
--   support if it also supports views.
--
--   When the compiler is emitting the line number programs and
--   computing view numbers itself, it resets view numbers at known PC
--   changes and counts from that, and then it emits view numbers as
--   literal constants in locviewlists.  There are cases in which the
--   compiler is not sure about PC changes, e.g. when extra alignment is
--   requested for a label.  In these cases, the compiler may not reset
--   the view counter, and the potential PC advance in the line number
--   program will use an opcode that does not reset the view counter
--   even if the PC actually changes, so that compiler and debug info
--   consumer can keep view numbers in sync.
--
--   When the compiler defers view computation to the assembler, it
--   emits symbolic view numbers in locviewlists, with the exception of
--   views known to be zero (forced resets, or reset after
--   compiler-visible PC changes): instead of emitting symbols for
--   these, we emit literal zero and assert the assembler agrees with
--   the compiler's assessment.  We could use symbolic views everywhere,
--   instead of special-casing zero views, but then we'd be unable to
--   optimize out locviewlists that contain only zeros.  */
--
--static bool
--output_asm_line_debug_info (void)
--{
--  return (DWARF2_ASM_VIEW_DEBUG_INFO
--	  || (DWARF2_ASM_LINE_DEBUG_INFO
--	      && !debug_variable_location_views));
--}
--
- /* Minimum line offset in a special line info. opcode.
-    This value was chosen to give a reasonable range of values.  */
- #define DWARF_LINE_BASE  -10
-@@ -3329,7 +3207,6 @@ struct GTY ((chain_next ("%h.next"))) va
-   rtx GTY (()) loc;
-   const char * GTY (()) label;
-   struct var_loc_node * GTY (()) next;
--  var_loc_view view;
- };
- 
- /* Variable location list.  */
-@@ -3538,8 +3415,6 @@ static inline dw_loc_descr_ref AT_loc (d
- static void add_AT_loc_list (dw_die_ref, enum dwarf_attribute,
- 			     dw_loc_list_ref);
- static inline dw_loc_list_ref AT_loc_list (dw_attr_node *);
--static void add_AT_view_list (dw_die_ref, enum dwarf_attribute);
--static inline dw_loc_list_ref AT_loc_list (dw_attr_node *);
- static addr_table_entry *add_addr_table_entry (void *, enum ate_kind);
- static void remove_addr_table_entry (addr_table_entry *);
- static void add_AT_addr (dw_die_ref, enum dwarf_attribute, rtx, bool);
-@@ -3576,7 +3451,7 @@ static void equate_type_number_to_die (t
- static dw_die_ref lookup_decl_die (tree);
- static var_loc_list *lookup_decl_loc (const_tree);
- static void equate_decl_number_to_die (tree, dw_die_ref);
--static struct var_loc_node *add_var_loc_to_decl (tree, rtx, const char *, var_loc_view);
-+static struct var_loc_node *add_var_loc_to_decl (tree, rtx, const char *);
- static void print_spaces (FILE *);
- static void print_die (dw_die_ref, FILE *);
- static void loc_checksum (dw_loc_descr_ref, struct md5_ctx *);
-@@ -3776,8 +3651,8 @@ static void gen_tagged_type_die (tree, d
- static void gen_type_die_with_usage (tree, dw_die_ref, enum debug_info_usage);
- static void splice_child_die (dw_die_ref, dw_die_ref);
- static int file_info_cmp (const void *, const void *);
--static dw_loc_list_ref new_loc_list (dw_loc_descr_ref, const char *, var_loc_view,
--				     const char *, var_loc_view, const char *);
-+static dw_loc_list_ref new_loc_list (dw_loc_descr_ref, const char *,
-+				     const char *, const char *);
- static void output_loc_list (dw_loc_list_ref);
- static char *gen_internal_sym (const char *);
- static bool want_pubnames (void);
-@@ -4069,9 +3944,6 @@ static char ranges_base_label[2 * MAX_AR
- #ifndef BLOCK_BEGIN_LABEL
- #define BLOCK_BEGIN_LABEL	"LBB"
- #endif
--#ifndef BLOCK_INLINE_ENTRY_LABEL
--#define BLOCK_INLINE_ENTRY_LABEL "LBI"
--#endif
- #ifndef BLOCK_END_LABEL
- #define BLOCK_END_LABEL		"LBE"
- #endif
-@@ -4776,65 +4648,11 @@ AT_loc_list (dw_attr_node *a)
-   return a->dw_attr_val.v.val_loc_list;
- }
- 
--/* Add a view list attribute to DIE.  It must have a DW_AT_location
--   attribute, because the view list complements the location list.  */
--
--static inline void
--add_AT_view_list (dw_die_ref die, enum dwarf_attribute attr_kind)
--{
--  dw_attr_node attr;
--
--  if (XCOFF_DEBUGGING_INFO && !HAVE_XCOFF_DWARF_EXTRAS)
--    return;
--
--  attr.dw_attr = attr_kind;
--  attr.dw_attr_val.val_class = dw_val_class_view_list;
--  attr.dw_attr_val.val_entry = NULL;
--  attr.dw_attr_val.v.val_view_list = die;
--  add_dwarf_attr (die, &attr);
--  gcc_checking_assert (get_AT (die, DW_AT_location));
--  gcc_assert (have_location_lists);
--}
--
--/* Return a pointer to the location list referenced by the attribute.
--   If the named attribute is a view list, look up the corresponding
--   DW_AT_location attribute and return its location list.  */
--
- static inline dw_loc_list_ref *
- AT_loc_list_ptr (dw_attr_node *a)
- {
--  gcc_assert (a);
--  switch (AT_class (a))
--    {
--    case dw_val_class_loc_list:
--      return &a->dw_attr_val.v.val_loc_list;
--    case dw_val_class_view_list:
--      {
--	dw_attr_node *l;
--	l = get_AT (a->dw_attr_val.v.val_view_list, DW_AT_location);
--	if (!l)
--	  return NULL;
--	gcc_checking_assert (l + 1 == a);
--	return AT_loc_list_ptr (l);
--      }
--    default:
--      gcc_unreachable ();
--    }
--}
--
--/* Return the location attribute value associated with a view list
--   attribute value.  */
--
--static inline dw_val_node *
--view_list_to_loc_list_val_node (dw_val_node *val)
--{
--  gcc_assert (val->val_class == dw_val_class_view_list);
--  dw_attr_node *loc = get_AT (val->v.val_view_list, DW_AT_location);
--  if (!loc)
--    return NULL;
--  gcc_checking_assert (&(loc + 1)->dw_attr_val == val);
--  gcc_assert (AT_class (loc) == dw_val_class_loc_list);
--  return &loc->dw_attr_val;
-+  gcc_assert (a && AT_class (a) == dw_val_class_loc_list);
-+  return &a->dw_attr_val.v.val_loc_list;
- }
- 
- struct addr_hasher : ggc_ptr_hash<addr_table_entry>
-@@ -6089,7 +5907,7 @@ adjust_piece_list (rtx *dest, rtx *src,
- /* Add a variable location node to the linked list for DECL.  */
- 
- static struct var_loc_node *
--add_var_loc_to_decl (tree decl, rtx loc_note, const char *label, var_loc_view view)
-+add_var_loc_to_decl (tree decl, rtx loc_note, const char *label)
- {
-   unsigned int decl_id;
-   var_loc_list *temp;
-@@ -6178,7 +5996,7 @@ add_var_loc_to_decl (tree decl, rtx loc_
-       /* TEMP->LAST here is either pointer to the last but one or
- 	 last element in the chained list, LAST is pointer to the
- 	 last element.  */
--      if (label && strcmp (last->label, label) == 0 && last->view == view)
-+      if (label && strcmp (last->label, label) == 0)
- 	{
- 	  /* For SRA optimized variables if there weren't any real
- 	     insns since last note, just modify the last node.  */
-@@ -6194,7 +6012,7 @@ add_var_loc_to_decl (tree decl, rtx loc_
- 	      temp->last->next = NULL;
- 	      unused = last;
- 	      last = temp->last;
--	      gcc_assert (strcmp (last->label, label) != 0 || last->view != view);
-+	      gcc_assert (strcmp (last->label, label) != 0);
- 	    }
- 	  else
- 	    {
-@@ -6329,12 +6147,6 @@ print_dw_val (dw_val_node *val, bool rec
-       fprintf (outfile, "location list -> label:%s",
- 	       val->v.val_loc_list->ll_symbol);
-       break;
--    case dw_val_class_view_list:
--      val = view_list_to_loc_list_val_node (val);
--      fprintf (outfile, "location list with views -> labels:%s and %s",
--	       val->v.val_loc_list->ll_symbol,
--	       val->v.val_loc_list->vl_symbol);
--      break;
-     case dw_val_class_range_list:
-       fprintf (outfile, "range list");
-       break;
-@@ -9195,7 +9007,6 @@ size_of_die (dw_die_ref die)
- 	  }
- 	  break;
- 	case dw_val_class_loc_list:
--	case dw_val_class_view_list:
- 	  if (dwarf_split_debug_info && dwarf_version >= 5)
- 	    {
- 	      gcc_assert (AT_loc_list (a)->num_assigned);
-@@ -9567,7 +9378,6 @@ value_format (dw_attr_node *a)
- 	  gcc_unreachable ();
- 	}
-     case dw_val_class_loc_list:
--    case dw_val_class_view_list:
-       if (dwarf_split_debug_info
- 	  && dwarf_version >= 5
- 	  && AT_loc_list (a)->num_assigned)
-@@ -9842,8 +9652,7 @@ output_abbrev_section (void)
-    expression.  */
- 
- static inline dw_loc_list_ref
--new_loc_list (dw_loc_descr_ref expr, const char *begin, var_loc_view vbegin,
--	      const char *end, var_loc_view vend,
-+new_loc_list (dw_loc_descr_ref expr, const char *begin, const char *end,
- 	      const char *section)
- {
-   dw_loc_list_ref retlist = ggc_cleared_alloc<dw_loc_list_node> ();
-@@ -9853,28 +9662,10 @@ new_loc_list (dw_loc_descr_ref expr, con
-   retlist->end = end;
-   retlist->expr = expr;
-   retlist->section = section;
--  retlist->vbegin = vbegin;
--  retlist->vend = vend;
- 
-   return retlist;
- }
- 
--/* Return true iff there's any nonzero view number in the loc list.  */
--
--static bool
--loc_list_has_views (dw_loc_list_ref list)
--{
--  if (!debug_variable_location_views)
--    return false;
--
--  for (dw_loc_list_ref loc = list;
--       loc != NULL; loc = loc->dw_loc_next)
--    if (!ZERO_VIEW_P (loc->vbegin) || !ZERO_VIEW_P (loc->vend))
--      return true;
--
--  return false;
--}
--
- /* Generate a new internal symbol for this location list node, if it
-    hasn't got one yet.  */
- 
-@@ -9883,98 +9674,6 @@ gen_llsym (dw_loc_list_ref list)
- {
-   gcc_assert (!list->ll_symbol);
-   list->ll_symbol = gen_internal_sym ("LLST");
--
--  if (!loc_list_has_views (list))
--    return;
--
--  if (dwarf2out_locviews_in_attribute ())
--    {
--      /* Use the same label_num for the view list.  */
--      label_num--;
--      list->vl_symbol = gen_internal_sym ("LVUS");
--    }
--  else
--    list->vl_symbol = list->ll_symbol;
--}
--
--/* Generate a symbol for the list, but only if we really want to emit
--   it as a list.  */
--
--static inline void
--maybe_gen_llsym (dw_loc_list_ref list)
--{
--  if (!list || (!list->dw_loc_next && !loc_list_has_views (list)))
--    return;
--
--  gen_llsym (list);
--}
--
--/* Determine whether or not to skip loc_list entry CURR.  If we're not
--   to skip it, and SIZEP is non-null, store the size of CURR->expr's
--   representation in *SIZEP.  */
--
--static bool
--skip_loc_list_entry (dw_loc_list_ref curr, unsigned long *sizep = 0)
--{
--  /* Don't output an entry that starts and ends at the same address.  */
--  if (strcmp (curr->begin, curr->end) == 0
--      && curr->vbegin == curr->vend && !curr->force)
--    return true;
--
--  unsigned long size = size_of_locs (curr->expr);
--
--  /* If the expression is too large, drop it on the floor.  We could
--     perhaps put it into DW_TAG_dwarf_procedure and refer to that
--     in the expression, but >= 64KB expressions for a single value
--     in a single range are unlikely very useful.  */
--  if (dwarf_version < 5 && size > 0xffff)
--    return true;
--
--  if (sizep)
--    *sizep = size;
--
--  return false;
--}
--
--/* Output a view pair loclist entry for CURR, if it requires one.  */
--
--static void
--dwarf2out_maybe_output_loclist_view_pair (dw_loc_list_ref curr)
--{
--  if (!dwarf2out_locviews_in_loclist ())
--    return;
--
--  if (ZERO_VIEW_P (curr->vbegin) && ZERO_VIEW_P (curr->vend))
--    return;
--
--#ifdef DW_LLE_view_pair
--  dw2_asm_output_data (1, DW_LLE_view_pair, "DW_LLE_view_pair");
--
--# if DWARF2_ASM_VIEW_DEBUG_INFO
--  if (ZERO_VIEW_P (curr->vbegin))
--    dw2_asm_output_data_uleb128 (0, "Location view begin");
--  else
--    {
--      char label[MAX_ARTIFICIAL_LABEL_BYTES];
--      ASM_GENERATE_INTERNAL_LABEL (label, "LVU", curr->vbegin);
--      dw2_asm_output_symname_uleb128 (label, "Location view begin");
--    }
--
--  if (ZERO_VIEW_P (curr->vend))
--    dw2_asm_output_data_uleb128 (0, "Location view end");
--  else
--    {
--      char label[MAX_ARTIFICIAL_LABEL_BYTES];
--      ASM_GENERATE_INTERNAL_LABEL (label, "LVU", curr->vend);
--      dw2_asm_output_symname_uleb128 (label, "Location view end");
--    }
--# else /* !DWARF2_ASM_VIEW_DEBUG_INFO */
--  dw2_asm_output_data_uleb128 (curr->vbegin, "Location view begin");
--  dw2_asm_output_data_uleb128 (curr->vend, "Location view end");
--# endif /* DWARF2_ASM_VIEW_DEBUG_INFO */
--#endif /* DW_LLE_view_pair */
--
--  return;
- }
- 
- /* Output the location list given to us.  */
-@@ -9982,85 +9681,34 @@ dwarf2out_maybe_output_loclist_view_pair
- static void
- output_loc_list (dw_loc_list_ref list_head)
- {
--  int vcount = 0, lcount = 0;
--
-   if (list_head->emitted)
-     return;
-   list_head->emitted = true;
- 
--  if (list_head->vl_symbol && dwarf2out_locviews_in_attribute ())
--    {
--      ASM_OUTPUT_LABEL (asm_out_file, list_head->vl_symbol);
--
--      for (dw_loc_list_ref curr = list_head; curr != NULL;
--	   curr = curr->dw_loc_next)
--	{
--	  if (skip_loc_list_entry (curr))
--	    continue;
--
--	  vcount++;
--
--	  /* ?? dwarf_split_debug_info?  */
--#if DWARF2_ASM_VIEW_DEBUG_INFO
--	  char label[MAX_ARTIFICIAL_LABEL_BYTES];
--
--	  if (!ZERO_VIEW_P (curr->vbegin))
--	    {
--	      ASM_GENERATE_INTERNAL_LABEL (label, "LVU", curr->vbegin);
--	      dw2_asm_output_symname_uleb128 (label,
--					      "View list begin (%s)",
--					      list_head->vl_symbol);
--	    }
--	  else
--	    dw2_asm_output_data_uleb128 (0,
--					 "View list begin (%s)",
--					 list_head->vl_symbol);
--
--	  if (!ZERO_VIEW_P (curr->vend))
--	    {
--	      ASM_GENERATE_INTERNAL_LABEL (label, "LVU", curr->vend);
--	      dw2_asm_output_symname_uleb128 (label,
--					      "View list end (%s)",
--					      list_head->vl_symbol);
--	    }
--	  else
--	    dw2_asm_output_data_uleb128 (0,
--					 "View list end (%s)",
--					 list_head->vl_symbol);
--#else /* !DWARF2_ASM_VIEW_DEBUG_INFO */
--	  dw2_asm_output_data_uleb128 (curr->vbegin,
--				       "View list begin (%s)",
--				       list_head->vl_symbol);
--	  dw2_asm_output_data_uleb128 (curr->vend,
--				       "View list end (%s)",
--				       list_head->vl_symbol);
--#endif
--	}
--    }
--
-   ASM_OUTPUT_LABEL (asm_out_file, list_head->ll_symbol);
- 
-+  dw_loc_list_ref curr = list_head;
-   const char *last_section = NULL;
-   const char *base_label = NULL;
- 
-   /* Walk the location list, and output each range + expression.  */
--  for (dw_loc_list_ref curr = list_head; curr != NULL;
--       curr = curr->dw_loc_next)
-+  for (curr = list_head; curr != NULL; curr = curr->dw_loc_next)
-     {
-       unsigned long size;
--
--      /* Skip this entry?  If we skip it here, we must skip it in the
--	 view list above as well. */
--      if (skip_loc_list_entry (curr, &size))
-+      /* Don't output an entry that starts and ends at the same address.  */
-+      if (strcmp (curr->begin, curr->end) == 0 && !curr->force)
-+	continue;
-+      size = size_of_locs (curr->expr);
-+      /* If the expression is too large, drop it on the floor.  We could
-+	 perhaps put it into DW_TAG_dwarf_procedure and refer to that
-+	 in the expression, but >= 64KB expressions for a single value
-+	 in a single range are unlikely very useful.  */
-+      if (dwarf_version < 5 && size > 0xffff)
- 	continue;
--
--      lcount++;
--
-       if (dwarf_version >= 5)
- 	{
- 	  if (dwarf_split_debug_info)
- 	    {
--	      dwarf2out_maybe_output_loclist_view_pair (curr);
- 	      /* For -gsplit-dwarf, emit DW_LLE_starx_length, which has
- 		 uleb128 index into .debug_addr and uleb128 length.  */
- 	      dw2_asm_output_data (1, DW_LLE_startx_length,
-@@ -10078,7 +9726,6 @@ output_loc_list (dw_loc_list_ref list_he
- 	    }
- 	  else if (!have_multiple_function_sections && HAVE_AS_LEB128)
- 	    {
--	      dwarf2out_maybe_output_loclist_view_pair (curr);
- 	      /* If all code is in .text section, the base address is
- 		 already provided by the CU attributes.  Use
- 		 DW_LLE_offset_pair where both addresses are uleb128 encoded
-@@ -10129,7 +9776,6 @@ output_loc_list (dw_loc_list_ref list_he
- 		 length.  */
- 	      if (last_section == NULL)
- 		{
--		  dwarf2out_maybe_output_loclist_view_pair (curr);
- 		  dw2_asm_output_data (1, DW_LLE_start_length,
- 				       "DW_LLE_start_length (%s)",
- 				       list_head->ll_symbol);
-@@ -10144,7 +9790,6 @@ output_loc_list (dw_loc_list_ref list_he
- 		 DW_LLE_base_address.  */
- 	      else
- 		{
--		  dwarf2out_maybe_output_loclist_view_pair (curr);
- 		  dw2_asm_output_data (1, DW_LLE_offset_pair,
- 				       "DW_LLE_offset_pair (%s)",
- 				       list_head->ll_symbol);
-@@ -10160,7 +9805,6 @@ output_loc_list (dw_loc_list_ref list_he
- 	     DW_LLE_start_end with a pair of absolute addresses.  */
- 	  else
- 	    {
--	      dwarf2out_maybe_output_loclist_view_pair (curr);
- 	      dw2_asm_output_data (1, DW_LLE_start_end,
- 				   "DW_LLE_start_end (%s)",
- 				   list_head->ll_symbol);
-@@ -10239,9 +9883,6 @@ output_loc_list (dw_loc_list_ref list_he
- 			   "Location list terminator end (%s)",
- 			   list_head->ll_symbol);
-     }
--
--  gcc_assert (!list_head->vl_symbol
--	      || vcount == lcount * (dwarf2out_locviews_in_attribute () ? 1 : 0));
- }
- 
- /* Output a range_list offset into the .debug_ranges or .debug_rnglists
-@@ -10306,22 +9947,6 @@ output_loc_list_offset (dw_attr_node *a)
- 			  "%s", dwarf_attr_name (a->dw_attr));
- }
- 
--/* Output the offset into the debug_loc section.  */
--
--static void
--output_view_list_offset (dw_attr_node *a)
--{
--  char *sym = (*AT_loc_list_ptr (a))->vl_symbol;
--
--  gcc_assert (sym);
--  if (dwarf_split_debug_info)
--    dw2_asm_output_delta (DWARF_OFFSET_SIZE, sym, loc_section_label,
--                          "%s", dwarf_attr_name (a->dw_attr));
--  else
--    dw2_asm_output_offset (DWARF_OFFSET_SIZE, sym, debug_loc_section,
--                           "%s", dwarf_attr_name (a->dw_attr));
--}
--
- /* Output an attribute's index or value appropriately.  */
- 
- static void
-@@ -10547,10 +10172,6 @@ output_die (dw_die_ref die)
- 	  output_loc_list_offset (a);
- 	  break;
- 
--	case dw_val_class_view_list:
--	  output_view_list_offset (a);
--	  break;
--
- 	case dw_val_class_die_ref:
- 	  if (AT_ref_external (a))
- 	    {
-@@ -10735,28 +10356,6 @@ output_die (dw_die_ref die)
- 			 (unsigned long) die->die_offset);
- }
- 
--/* Output the dwarf version number.  */
--
--static void
--output_dwarf_version ()
--{
--  /* ??? For now, if -gdwarf-6 is specified, we output version 5 with
--     views in loclist.  That will change eventually.  */
--  if (dwarf_version == 6)
--    {
--      static bool once;
--      if (!once)
--	{
--	  warning (0,
--		   "-gdwarf-6 is output as version 5 with incompatibilities");
--	  once = true;
--	}
--      dw2_asm_output_data (2, 5, "DWARF version number");
--    }
--  else
--    dw2_asm_output_data (2, dwarf_version, "DWARF version number");
--}
--
- /* Output the compilation unit that appears at the beginning of the
-    .debug_info section, and precedes the DIE descriptions.  */
- 
-@@ -10773,7 +10372,7 @@ output_compilation_unit_header (enum dwa
- 			   "Length of Compilation Unit Info");
-     }
- 
--  output_dwarf_version ();
-+  dw2_asm_output_data (2, dwarf_version, "DWARF version number");
-   if (dwarf_version >= 5)
-     {
-       const char *name;
-@@ -10985,7 +10584,7 @@ output_skeleton_debug_sections (dw_die_r
-                        - DWARF_INITIAL_LENGTH_SIZE
-                        + size_of_die (comp_unit),
-                       "Length of Compilation Unit Info");
--  output_dwarf_version ();
-+  dw2_asm_output_data (2, dwarf_version, "DWARF version number");
-   if (dwarf_version >= 5)
-     {
-       dw2_asm_output_data (1, DW_UT_skeleton, "DW_UT_skeleton");
-@@ -11284,7 +10883,7 @@ output_pubnames (vec<pubname_entry, va_g
-     }
- 
-   /* Version number for pubnames/pubtypes is independent of dwarf version.  */
--  dw2_asm_output_data (2, 2, "DWARF pubnames/pubtypes version");
-+  dw2_asm_output_data (2, 2, "DWARF Version");
- 
-   if (dwarf_split_debug_info)
-     dw2_asm_output_offset (DWARF_OFFSET_SIZE, debug_skeleton_info_section_label,
-@@ -11366,7 +10965,7 @@ output_aranges (void)
-     }
- 
-   /* Version number for aranges is still 2, even up to DWARF5.  */
--  dw2_asm_output_data (2, 2, "DWARF aranges version");
-+  dw2_asm_output_data (2, 2, "DWARF Version");
-   if (dwarf_split_debug_info)
-     dw2_asm_output_offset (DWARF_OFFSET_SIZE, debug_skeleton_info_section_label,
-                            debug_skeleton_info_section,
-@@ -11631,7 +11230,7 @@ output_rnglists (unsigned generation)
-   dw2_asm_output_delta (DWARF_OFFSET_SIZE, l2, l1,
- 			"Length of Range Lists");
-   ASM_OUTPUT_LABEL (asm_out_file, l1);
--  output_dwarf_version ();
-+  dw2_asm_output_data (2, dwarf_version, "DWARF Version");
-   dw2_asm_output_data (1, DWARF2_ADDR_SIZE, "Address Size");
-   dw2_asm_output_data (1, 0, "Segment Size");
-   /* Emit the offset table only for -gsplit-dwarf.  If we don't care
-@@ -12265,11 +11864,8 @@ output_one_line_info_table (dw_line_info
-   char line_label[MAX_ARTIFICIAL_LABEL_BYTES];
-   unsigned int current_line = 1;
-   bool current_is_stmt = DWARF_LINE_DEFAULT_IS_STMT_START;
--  dw_line_info_entry *ent, *prev_addr;
-+  dw_line_info_entry *ent;
-   size_t i;
--  unsigned int view;
--
--  view = 0;
- 
-   FOR_EACH_VEC_SAFE_ELT (table->entries, i, ent)
-     {
-@@ -12284,36 +11880,14 @@ output_one_line_info_table (dw_line_info
- 	     to determine when it is safe to use DW_LNS_fixed_advance_pc.  */
- 	  ASM_GENERATE_INTERNAL_LABEL (line_label, LINE_CODE_LABEL, ent->val);
- 
--	  view = 0;
--
- 	  /* This can handle any delta.  This takes
- 	     4+DWARF2_ADDR_SIZE bytes.  */
--	  dw2_asm_output_data (1, 0, "set address %s%s", line_label,
--			       debug_variable_location_views
--			       ? ", reset view to 0" : "");
-+	  dw2_asm_output_data (1, 0, "set address %s", line_label);
- 	  dw2_asm_output_data_uleb128 (1 + DWARF2_ADDR_SIZE, NULL);
- 	  dw2_asm_output_data (1, DW_LNE_set_address, NULL);
- 	  dw2_asm_output_addr (DWARF2_ADDR_SIZE, line_label, NULL);
--
--	  prev_addr = ent;
- 	  break;
- 
--	case LI_adv_address:
--	  {
--	    ASM_GENERATE_INTERNAL_LABEL (line_label, LINE_CODE_LABEL, ent->val);
--	    char prev_label[MAX_ARTIFICIAL_LABEL_BYTES];
--	    ASM_GENERATE_INTERNAL_LABEL (prev_label, LINE_CODE_LABEL, prev_addr->val);
--
--	    view++;
--
--	    dw2_asm_output_data (1, DW_LNS_fixed_advance_pc, "fixed advance PC, increment view to %i", view);
--	    dw2_asm_output_delta (2, line_label, prev_label,
--				  "from %s to %s", prev_label, line_label);
--
--	    prev_addr = ent;
--	    break;
--	  }
--
- 	case LI_set_line:
- 	  if (ent->val == current_line)
- 	    {
-@@ -12421,7 +11995,7 @@ output_line_info (bool prologue_only)
- 
-   ASM_OUTPUT_LABEL (asm_out_file, l1);
- 
--  output_dwarf_version ();
-+  dw2_asm_output_data (2, dwarf_version, "DWARF Version");
-   if (dwarf_version >= 5)
-     {
-       dw2_asm_output_data (1, DWARF2_ADDR_SIZE, "Address Size");
-@@ -16879,7 +16453,6 @@ static dw_loc_list_ref
- dw_loc_list (var_loc_list *loc_list, tree decl, int want_address)
- {
-   const char *endname, *secname;
--  var_loc_view endview;
-   rtx varloc;
-   enum var_init_status initialized;
-   struct var_loc_node *node;
-@@ -16944,27 +16517,24 @@ dw_loc_list (var_loc_list *loc_list, tre
- 		  && current_function_decl)
- 		{
- 		  endname = cfun->fde->dw_fde_end;
--		  endview = 0;
- 		  range_across_switch = true;
- 		}
- 	      /* The variable has a location between NODE->LABEL and
- 		 NODE->NEXT->LABEL.  */
- 	      else if (node->next)
--		endname = node->next->label, endview = node->next->view;
-+		endname = node->next->label;
- 	      /* If the variable has a location at the last label
- 		 it keeps its location until the end of function.  */
- 	      else if (!current_function_decl)
--		endname = text_end_label, endview = 0;
-+		endname = text_end_label;
- 	      else
- 		{
- 		  ASM_GENERATE_INTERNAL_LABEL (label_id, FUNC_END_LABEL,
- 					       current_function_funcdef_no);
- 		  endname = ggc_strdup (label_id);
--		  endview = 0;
- 		}
- 
--	      *listp = new_loc_list (descr, node->label, node->view,
--				     endname, endview, secname);
-+	      *listp = new_loc_list (descr, node->label, endname, secname);
- 	      if (TREE_CODE (decl) == PARM_DECL
- 		  && node == loc_list->first
- 		  && NOTE_P (node->loc)
-@@ -16999,11 +16569,11 @@ dw_loc_list (var_loc_list *loc_list, tre
- 	  /* The variable has a location between NODE->LABEL and
- 	     NODE->NEXT->LABEL.  */
- 	  if (node->next)
--	    endname = node->next->label, endview = node->next->view;
-+	    endname = node->next->label;
- 	  else
--	    endname = cfun->fde->dw_fde_second_end, endview = 0;
--	  *listp = new_loc_list (descr, cfun->fde->dw_fde_second_begin, 0,
--				 endname, endview, secname);
-+	    endname = cfun->fde->dw_fde_second_end;
-+	  *listp = new_loc_list (descr, cfun->fde->dw_fde_second_begin,
-+				 endname, secname);
- 	  listp = &(*listp)->dw_loc_next;
- 	}
-     }
-@@ -17014,7 +16584,8 @@ dw_loc_list (var_loc_list *loc_list, tre
-      representable, we don't want to pretend a single entry that was
-      applies to the entire scope in which the variable is
-      available.  */
--  maybe_gen_llsym (list);
-+  if (list && loc_list->first->next)
-+    gen_llsym (list);
- 
-   return list;
- }
-@@ -17833,7 +17404,7 @@ loc_list_from_tree_1 (tree loc, int want
-     {
-       if (dwarf_version >= 3 || !dwarf_strict)
- 	return new_loc_list (new_loc_descr (DW_OP_push_object_address, 0, 0),
--			     NULL, 0, NULL, 0, NULL);
-+			     NULL, NULL, NULL);
-       else
- 	return NULL;
-     }
-@@ -18649,7 +18220,7 @@ loc_list_from_tree_1 (tree loc, int want
- 	add_loc_descr_to_each (list_ret, new_loc_descr (op, size, 0));
-     }
-   if (ret)
--    list_ret = new_loc_list (ret, NULL, 0, NULL, 0, NULL);
-+    list_ret = new_loc_list (ret, NULL, NULL, NULL);
- 
-   return list_ret;
- }
-@@ -18973,25 +18544,12 @@ static inline void
- add_AT_location_description (dw_die_ref die, enum dwarf_attribute attr_kind,
- 			     dw_loc_list_ref descr)
- {
--  bool check_no_locviews = true;
-   if (descr == 0)
-     return;
-   if (single_element_loc_list_p (descr))
-     add_AT_loc (die, attr_kind, descr->expr);
-   else
--    {
--      add_AT_loc_list (die, attr_kind, descr);
--      gcc_assert (descr->ll_symbol);
--      if (attr_kind == DW_AT_location && descr->vl_symbol
--	  && dwarf2out_locviews_in_attribute ())
--	{
--	  add_AT_view_list (die, DW_AT_GNU_locviews);
--	  check_no_locviews = false;
--	}
--    }
--
--  if (check_no_locviews)
--    gcc_assert (!get_AT (die, DW_AT_GNU_locviews));
-+    add_AT_loc_list (die, attr_kind, descr);
- }
- 
- /* Add DW_AT_accessibility attribute to DIE if needed.  */
-@@ -20180,7 +19738,7 @@ convert_cfa_to_fb_loc_list (HOST_WIDE_IN
-       /* If the first partition contained no CFI adjustments, the
- 	 CIE opcodes apply to the whole first partition.  */
-       *list_tail = new_loc_list (build_cfa_loc (&last_cfa, offset),
--				 fde->dw_fde_begin, 0, fde->dw_fde_end, 0, section);
-+				 fde->dw_fde_begin, fde->dw_fde_end, section);
-       list_tail =&(*list_tail)->dw_loc_next;
-       start_label = last_label = fde->dw_fde_second_begin;
-     }
-@@ -20196,7 +19754,7 @@ convert_cfa_to_fb_loc_list (HOST_WIDE_IN
- 	  if (!cfa_equal_p (&last_cfa, &next_cfa))
- 	    {
- 	      *list_tail = new_loc_list (build_cfa_loc (&last_cfa, offset),
--					 start_label, 0, last_label, 0, section);
-+					 start_label, last_label, section);
- 
- 	      list_tail = &(*list_tail)->dw_loc_next;
- 	      last_cfa = next_cfa;
-@@ -20218,14 +19776,14 @@ convert_cfa_to_fb_loc_list (HOST_WIDE_IN
- 	  if (!cfa_equal_p (&last_cfa, &next_cfa))
- 	    {
- 	      *list_tail = new_loc_list (build_cfa_loc (&last_cfa, offset),
--					 start_label, 0, last_label, 0, section);
-+					 start_label, last_label, section);
- 
- 	      list_tail = &(*list_tail)->dw_loc_next;
- 	      last_cfa = next_cfa;
- 	      start_label = last_label;
- 	    }
- 	  *list_tail = new_loc_list (build_cfa_loc (&last_cfa, offset),
--				     start_label, 0, fde->dw_fde_end, 0, section);
-+				     start_label, fde->dw_fde_end, section);
- 	  list_tail = &(*list_tail)->dw_loc_next;
- 	  start_label = last_label = fde->dw_fde_second_begin;
- 	}
-@@ -20234,18 +19792,19 @@ convert_cfa_to_fb_loc_list (HOST_WIDE_IN
-   if (!cfa_equal_p (&last_cfa, &next_cfa))
-     {
-       *list_tail = new_loc_list (build_cfa_loc (&last_cfa, offset),
--				 start_label, 0, last_label, 0, section);
-+				 start_label, last_label, section);
-       list_tail = &(*list_tail)->dw_loc_next;
-       start_label = last_label;
-     }
- 
-   *list_tail = new_loc_list (build_cfa_loc (&next_cfa, offset),
--			     start_label, 0,
-+			     start_label,
- 			     fde->dw_fde_second_begin
--			     ? fde->dw_fde_second_end : fde->dw_fde_end, 0,
-+			     ? fde->dw_fde_second_end : fde->dw_fde_end,
- 			     section);
- 
--  maybe_gen_llsym (list);
-+  if (list && list->dw_loc_next)
-+    gen_llsym (list);
- 
-   return list;
- }
-@@ -23219,48 +22778,6 @@ block_die_hasher::equal (die_struct *x,
-   return x->decl_id == y->decl_id && x->die_parent == y->die_parent;
- }
- 
--/* Hold information about markers for inlined entry points.  */
--struct GTY ((for_user)) inline_entry_data
--{
--  /* The block that's the inlined_function_outer_scope for an inlined
--     function.  */
--  tree block;
--
--  /* The label at the inlined entry point.  */
--  const char *label_pfx;
--  unsigned int label_num;
--
--  /* The view number to be used as the inlined entry point.  */
--  var_loc_view view;
--};
--
--struct inline_entry_data_hasher : ggc_ptr_hash <inline_entry_data>
--{
--  typedef tree compare_type;
--  static inline hashval_t hash (const inline_entry_data *);
--  static inline bool equal (const inline_entry_data *, const_tree);
--};
--
--/* Hash table routines for inline_entry_data.  */
--
--inline hashval_t
--inline_entry_data_hasher::hash (const inline_entry_data *data)
--{
--  return htab_hash_pointer (data->block);
--}
--
--inline bool
--inline_entry_data_hasher::equal (const inline_entry_data *data,
--				 const_tree block)
--{
--  return data->block == block;
--}
--
--/* Inlined entry points pending DIE creation in this compilation unit.  */
--
--static GTY(()) hash_table<inline_entry_data_hasher> *inline_entry_data_table;
--
--
- /* Return TRUE if DECL, which may have been previously generated as
-    OLD_DIE, is a candidate for a DW_AT_specification.  DECLARATION is
-    true if decl (or its origin) is either an extern declaration or a
-@@ -23713,42 +23230,6 @@ add_high_low_attributes (tree stmt, dw_d
- {
-   char label[MAX_ARTIFICIAL_LABEL_BYTES];
- 
--  if (inline_entry_data **iedp
--      = !inline_entry_data_table ? NULL
--      : inline_entry_data_table->find_slot_with_hash (stmt,
--						      htab_hash_pointer (stmt),
--						      NO_INSERT))
--    {
--      inline_entry_data *ied = *iedp;
--      gcc_assert (MAY_HAVE_DEBUG_MARKER_INSNS);
--      gcc_assert (inlined_function_outer_scope_p (stmt));
--      ASM_GENERATE_INTERNAL_LABEL (label, ied->label_pfx, ied->label_num);
--      add_AT_lbl_id (die, DW_AT_entry_pc, label);
--
--      if (debug_variable_location_views && !ZERO_VIEW_P (ied->view))
--	{
--	  if (!output_asm_line_debug_info ())
--	    add_AT_unsigned (die, DW_AT_GNU_entry_view, ied->view);
--	  else
--	    {
--	      ASM_GENERATE_INTERNAL_LABEL (label, "LVU", ied->view);
--	      /* FIXME: this will resolve to a small number.  Could we
--		 possibly emit smaller data?  Ideally we'd emit a
--		 uleb128, but that would make the size of DIEs
--		 impossible for the compiler to compute, since it's
--		 the assembler that computes the value of the view
--		 label in this case.  Ideally, we'd have a single form
--		 encompassing both the address and the view, and
--		 indirecting them through a table might make things
--		 easier, but even that would be more wasteful,
--		 space-wise, than what we have now.  */
--	      add_AT_lbl_id (die, DW_AT_GNU_entry_view, label);
--	    }
--	}
--
--      inline_entry_data_table->clear_slot (iedp);
--    }
--
-   if (BLOCK_FRAGMENT_CHAIN (stmt)
-       && (dwarf_version >= 3 || !dwarf_strict))
-     {
-@@ -23756,7 +23237,7 @@ add_high_low_attributes (tree stmt, dw_d
-       dw_die_ref pdie;
-       dw_attr_node *attr = NULL;
- 
--      if (!MAY_HAVE_DEBUG_MARKER_INSNS && inlined_function_outer_scope_p (stmt))
-+      if (inlined_function_outer_scope_p (stmt))
- 	{
- 	  ASM_GENERATE_INTERNAL_LABEL (label, BLOCK_BEGIN_LABEL,
- 				       BLOCK_NUMBER (stmt));
-@@ -23921,7 +23402,7 @@ gen_inlined_subroutine_die (tree stmt, d
-       dw_die_ref subr_die
- 	= new_die (DW_TAG_inlined_subroutine, context_die, stmt);
- 
--      if (call_arg_locations || MAY_HAVE_DEBUG_MARKER_INSNS)
-+      if (call_arg_locations)
- 	BLOCK_DIE (stmt) = subr_die;
-       add_abstract_origin_attribute (subr_die, decl);
-       if (TREE_ASM_WRITTEN (stmt))
-@@ -26683,7 +26164,7 @@ maybe_emit_file (struct dwarf_file_data
- 	fd->emitted_number = 1;
-       last_emitted_file = fd;
- 
--      if (output_asm_line_debug_info ())
-+      if (DWARF2_ASM_LINE_DEBUG_INFO)
- 	{
- 	  fprintf (asm_out_file, "\t.file %u ", fd->emitted_number);
- 	  output_quoted_string (asm_out_file,
-@@ -26877,13 +26358,11 @@ dwarf2out_var_location (rtx_insn *loc_no
-   static rtx_insn *expected_next_loc_note;
-   tree decl;
-   bool var_loc_p;
--  var_loc_view view = 0;
- 
-   if (!NOTE_P (loc_note))
-     {
-       if (CALL_P (loc_note))
- 	{
--	  RESET_NEXT_VIEW (cur_line_info_table->view);
- 	  call_site_count++;
- 	  if (SIBLING_CALL_P (loc_note))
- 	    tail_call_site_count++;
-@@ -26917,18 +26396,6 @@ dwarf2out_var_location (rtx_insn *loc_no
- 		}
- 	    }
- 	}
--      else if (!debug_variable_location_views)
--	gcc_unreachable ();
--      else if (JUMP_TABLE_DATA_P (loc_note))
--	RESET_NEXT_VIEW (cur_line_info_table->view);
--      else if (GET_CODE (loc_note) == USE
--	       || GET_CODE (loc_note) == CLOBBER
--	       || GET_CODE (loc_note) == ASM_INPUT
--	       || asm_noperands (loc_note) >= 0)
--	;
--      else if (get_attr_min_length (loc_note) > 0)
--	RESET_NEXT_VIEW (cur_line_info_table->view);
--
-       return;
-     }
- 
-@@ -26953,7 +26420,6 @@ dwarf2out_var_location (rtx_insn *loc_no
-       || ! NOTE_P (next_note)
-       || (NOTE_KIND (next_note) != NOTE_INSN_VAR_LOCATION
- 	  && NOTE_KIND (next_note) != NOTE_INSN_BEGIN_STMT
--	  && NOTE_KIND (next_note) != NOTE_INSN_INLINE_ENTRY
- 	  && NOTE_KIND (next_note) != NOTE_INSN_CALL_ARG_LOCATION))
-     next_note = NULL;
- 
-@@ -26993,11 +26459,10 @@ create_label:
- 
-   if (var_loc_p)
-     {
--      const char *label
--	= NOTE_DURING_CALL_P (loc_note) ? last_postcall_label : last_label;
--      view = cur_line_info_table->view;
-       decl = NOTE_VAR_LOCATION_DECL (loc_note);
--      newloc = add_var_loc_to_decl (decl, loc_note, label, view);
-+      newloc = add_var_loc_to_decl (decl, loc_note,
-+				    NOTE_DURING_CALL_P (loc_note)
-+				    ? last_postcall_label : last_label);
-       if (newloc == NULL)
- 	return;
-     }
-@@ -27038,8 +26503,8 @@ create_label:
- 		else if (GET_CODE (body) == ASM_INPUT
- 			 || asm_noperands (body) >= 0)
- 		  continue;
--#ifdef HAVE_ATTR_length /* ??? We don't include insn-attr.h.  */
--		else if (HAVE_ATTR_length && get_attr_min_length (insn) == 0)
-+#ifdef HAVE_attr_length
-+		else if (get_attr_min_length (insn) == 0)
- 		  continue;
- #endif
- 		else
-@@ -27107,10 +26572,7 @@ create_label:
-       call_arg_loc_last = ca_loc;
-     }
-   else if (loc_note != NULL_RTX && !NOTE_DURING_CALL_P (loc_note))
--    {
--      newloc->label = last_label;
--      newloc->view = view;
--    }
-+    newloc->label = last_label;
-   else
-     {
-       if (!last_postcall_label)
-@@ -27119,7 +26581,6 @@ create_label:
- 	  last_postcall_label = ggc_strdup (loclabel);
- 	}
-       newloc->label = last_postcall_label;
--      newloc->view = view;
-     }
- 
-   if (var_loc_p && flag_debug_asm)
-@@ -27147,113 +26608,6 @@ create_label:
-   last_in_cold_section_p = in_cold_section_p;
- }
- 
--/* Check whether BLOCK, a lexical block, is nested within OUTER, or is
--   OUTER itself.  If BOTHWAYS, check not only that BLOCK can reach
--   OUTER through BLOCK_SUPERCONTEXT links, but also that there is a
--   path from OUTER to BLOCK through BLOCK_SUBBLOCKs and
--   BLOCK_FRAGMENT_ORIGIN links.  */
--static bool
--block_within_block_p (tree block, tree outer, bool bothways)
--{
--  if (block == outer)
--    return true;
--
--  /* Quickly check that OUTER is up BLOCK's supercontext chain.  */
--  for (tree context = BLOCK_SUPERCONTEXT (block);
--       context != outer;
--       context = BLOCK_SUPERCONTEXT (context))
--    if (!context || TREE_CODE (context) != BLOCK)
--      return false;
--
--  if (!bothways)
--    return true;
--
--  /* Now check that each block is actually referenced by its
--     parent.  */
--  for (tree context = BLOCK_SUPERCONTEXT (block); ;
--       context = BLOCK_SUPERCONTEXT (context))
--    {
--      if (BLOCK_FRAGMENT_ORIGIN (context))
--	{
--	  gcc_assert (!BLOCK_SUBBLOCKS (context));
--	  context = BLOCK_FRAGMENT_ORIGIN (context);
--	}
--      for (tree sub = BLOCK_SUBBLOCKS (context);
--	   sub != block;
--	   sub = BLOCK_CHAIN (sub))
--	if (!sub)
--	  return false;
--      if (context == outer)
--	return true;
--      else
--	block = context;
--    }
--}
--
--/* Called during final while assembling the marker of the entry point
--   for an inlined function.  */
--
--static void
--dwarf2out_inline_entry (tree block)
--{
--  /* If we can't represent it, don't bother.  */
--  if (!(dwarf_version >= 3 || !dwarf_strict))
--    return;
--
--  gcc_assert (DECL_P (block_ultimate_origin (block)));
--
--  /* Sanity check the block tree.  This would catch a case in which
--     BLOCK got removed from the tree reachable from the outermost
--     lexical block, but got retained in markers.  It would still link
--     back to its parents, but some ancestor would be missing a link
--     down the path to the sub BLOCK.  If the block got removed, its
--     BLOCK_NUMBER will not be a usable value.  */
--  if (flag_checking)
--    gcc_assert (block_within_block_p (block,
--				      DECL_INITIAL (current_function_decl),
--				      true));
--
--  gcc_assert (inlined_function_outer_scope_p (block));
--  gcc_assert (!BLOCK_DIE (block));
--
--  if (BLOCK_FRAGMENT_ORIGIN (block))
--    block = BLOCK_FRAGMENT_ORIGIN (block);
--  /* Can the entry point ever not be at the beginning of an
--     unfragmented lexical block?  */
--  else if (!(BLOCK_FRAGMENT_CHAIN (block)
--	     || (cur_line_info_table
--		 && !ZERO_VIEW_P (cur_line_info_table->view))))
--    return;
--
--  if (!inline_entry_data_table)
--    inline_entry_data_table
--      = hash_table<inline_entry_data_hasher>::create_ggc (10);
--
--
--  inline_entry_data **iedp
--    = inline_entry_data_table->find_slot_with_hash (block,
--						    htab_hash_pointer (block),
--						    INSERT);
--  if (*iedp)
--    /* ??? Ideally, we'd record all entry points for the same inlined
--       function (some may have been duplicated by e.g. unrolling), but
--       we have no way to represent that ATM.  */
--    return;
--
--  inline_entry_data *ied = *iedp = ggc_cleared_alloc<inline_entry_data> ();
--  ied->block = block;
--  ied->label_pfx = BLOCK_INLINE_ENTRY_LABEL;
--  ied->label_num = BLOCK_NUMBER (block);
--  if (cur_line_info_table)
--    ied->view = cur_line_info_table->view;
--
--  char label[MAX_ARTIFICIAL_LABEL_BYTES];
--
--  ASM_GENERATE_INTERNAL_LABEL (label, BLOCK_INLINE_ENTRY_LABEL,
--			       BLOCK_NUMBER (block));
--  ASM_OUTPUT_LABEL (asm_out_file, label);
--}
--
- /* Called from finalize_size_functions for size functions so that their body
-    can be encoded in the debug info to describe the layout of variable-length
-    structures.  */
-@@ -27298,7 +26652,6 @@ new_line_info_table (void)
-   table->file_num = 1;
-   table->line_num = 1;
-   table->is_stmt = DWARF_LINE_DEFAULT_IS_STMT_START;
--  RESET_NEXT_VIEW (table->view);
- 
-   return table;
- }
-@@ -27347,7 +26700,7 @@ set_cur_line_info_table (section *sec)
-       vec_safe_push (separate_line_info, table);
-     }
- 
--  if (output_asm_line_debug_info ())
-+  if (DWARF2_ASM_LINE_DEBUG_INFO)
-     table->is_stmt = (cur_line_info_table
- 		      ? cur_line_info_table->is_stmt
- 		      : DWARF_LINE_DEFAULT_IS_STMT_START);
-@@ -27528,7 +26881,7 @@ dwarf2out_source_line (unsigned int line
- 		 filename, line);
-     }
- 
--  if (output_asm_line_debug_info ())
-+  if (DWARF2_ASM_LINE_DEBUG_INFO)
-     {
-       /* Emit the .loc directive understood by GNU as.  */
-       /* "\t.loc %u %u 0 is_stmt %u discriminator %u",
-@@ -27551,50 +26904,6 @@ dwarf2out_source_line (unsigned int line
- 	  fputs (" discriminator ", asm_out_file);
- 	  fprint_ul (asm_out_file, (unsigned long) discriminator);
- 	}
--      if (debug_variable_location_views)
--	{
--	  static var_loc_view lvugid;
--	  if (!lvugid)
--	    {
--	      gcc_assert (!zero_view_p);
--	      zero_view_p = BITMAP_GGC_ALLOC ();
--	      bitmap_set_bit (zero_view_p, 0);
--	    }
--	  if (!RESETTING_VIEW_P (table->view))
--	    {
--	      /* When we're using the assembler to compute view
--		 numbers, we output symbolic labels after "view" in
--		 .loc directives, and the assembler will set them for
--		 us, so that we can refer to the view numbers in
--		 location lists.  The only exceptions are when we know
--		 a view will be zero: "-0" is a forced reset, used
--		 e.g. in the beginning of functions, whereas "0" tells
--		 the assembler to check that there was a PC change
--		 since the previous view, in a way that implicitly
--		 resets the next view.  */
--	      fputs (" view ", asm_out_file);
--	      char label[MAX_ARTIFICIAL_LABEL_BYTES];
--	      ASM_GENERATE_INTERNAL_LABEL (label, "LVU", table->view);
--	      assemble_name (asm_out_file, label);
--	      table->view = ++lvugid;
--	    }
--	  else
--	    {
--	      if (!table->in_use)
--		fputs (" view -0", asm_out_file);
--	      else
--		fputs (" view 0", asm_out_file);
--	      /* Mark the present view as a zero view.  Earlier debug
--		 binds may have already added its id to loclists to be
--		 emitted later, so we can't reuse the id for something
--		 else.  However, it's good to know whether a view is
--		 known to be zero, because then we may be able to
--		 optimize out locviews that are all zeros, so take
--		 note of it in zero_view_p.  */
--	      bitmap_set_bit (zero_view_p, lvugid);
--	      table->view = ++lvugid;
--	    }
--	}
-       putc ('\n', asm_out_file);
-     }
-   else
-@@ -27603,19 +26912,7 @@ dwarf2out_source_line (unsigned int line
- 
-       targetm.asm_out.internal_label (asm_out_file, LINE_CODE_LABEL, label_num);
- 
--      if (debug_variable_location_views && table->view)
--	push_dw_line_info_entry (table, LI_adv_address, label_num);
--      else
--	push_dw_line_info_entry (table, LI_set_address, label_num);
--      if (debug_variable_location_views)
--	{
--	  if (flag_debug_asm)
--	    fprintf (asm_out_file, "\t%s view %s%d\n",
--		     ASM_COMMENT_START,
--		     table->in_use ? "" : "-",
--		     table->view);
--	  table->view++;
--	}
-+      push_dw_line_info_entry (table, LI_set_address, label_num);
-       if (file_num != table->file_num)
- 	push_dw_line_info_entry (table, LI_set_file, file_num);
-       if (discriminator != table->discrim_num)
-@@ -28291,10 +27588,9 @@ init_sections_and_labels (bool early_lto
- 					    SECTION_DEBUG, NULL);
-       debug_str_section = get_section (DEBUG_STR_SECTION,
- 				       DEBUG_STR_SECTION_FLAGS, NULL);
--      if (!dwarf_split_debug_info && !output_asm_line_debug_info ())
-+      if (!dwarf_split_debug_info && !DWARF2_ASM_LINE_DEBUG_INFO)
- 	debug_line_str_section = get_section (DEBUG_LINE_STR_SECTION,
- 					      DEBUG_STR_SECTION_FLAGS, NULL);
--
-       debug_ranges_section = get_section (dwarf_version >= 5
- 					  ? DEBUG_RNGLISTS_SECTION
- 					  : DEBUG_RANGES_SECTION,
-@@ -28680,11 +27976,6 @@ prune_unused_types_walk_attribs (dw_die_
- 	    prune_unused_types_walk_loc_descr (list->expr);
- 	  break;
- 
--	case dw_val_class_view_list:
--	  /* This points to a loc_list in another attribute, so it's
--	     already covered.  */
--	  break;
--
- 	case dw_val_class_die_ref:
- 	  /* A reference to another DIE.
- 	     Make sure that it will get emitted.
-@@ -29784,8 +29075,6 @@ optimize_string_length (dw_attr_node *a)
- 	if (d->expr && non_dwarf_expression (d->expr))
- 	  non_dwarf_expr = true;
-       break;
--    case dw_val_class_view_list:
--      gcc_unreachable ();
-     case dw_val_class_loc:
-       lv = AT_loc (av);
-       if (lv == NULL)
-@@ -29830,7 +29119,7 @@ optimize_string_length (dw_attr_node *a)
- 	  lv = copy_deref_exprloc (d->expr);
- 	  if (lv)
- 	    {
--	      *p = new_loc_list (lv, d->begin, d->vbegin, d->end, d->vend, d->section);
-+	      *p = new_loc_list (lv, d->begin, d->end, d->section);
- 	      p = &(*p)->dw_loc_next;
- 	    }
- 	  else if (!dwarf_strict && d->expr)
-@@ -29900,7 +29189,6 @@ resolve_addr (dw_die_ref die)
- 		      {
- 			gcc_assert (!next->ll_symbol);
- 			next->ll_symbol = (*curr)->ll_symbol;
--			next->vl_symbol = (*curr)->vl_symbol;
- 		      }
-                     if (dwarf_split_debug_info)
-                       remove_loc_list_addr_table_entries (l);
-@@ -29926,21 +29214,6 @@ resolve_addr (dw_die_ref die)
- 	    ix--;
- 	  }
- 	break;
--      case dw_val_class_view_list:
--	{
--	  gcc_checking_assert (a->dw_attr == DW_AT_GNU_locviews);
--	  gcc_checking_assert (dwarf2out_locviews_in_attribute ());
--	  dw_val_node *llnode
--	    = view_list_to_loc_list_val_node (&a->dw_attr_val);
--	  /* If we no longer have a loclist, or it no longer needs
--	     views, drop this attribute.  */
--	  if (!llnode || !llnode->v.val_loc_list->vl_symbol)
--	    {
--	      remove_AT (die, a->dw_attr);
--	      ix--;
--	    }
--	  break;
--	}
-       case dw_val_class_loc:
- 	{
- 	  dw_loc_descr_ref l = AT_loc (a);
-@@ -30337,8 +29610,6 @@ hash_loc_list (dw_loc_list_ref list_head
-     {
-       hstate.add (curr->begin, strlen (curr->begin) + 1);
-       hstate.add (curr->end, strlen (curr->end) + 1);
--      hstate.add_object (curr->vbegin);
--      hstate.add_object (curr->vend);
-       if (curr->section)
- 	hstate.add (curr->section, strlen (curr->section) + 1);
-       hash_locs (curr->expr, hstate);
-@@ -30560,7 +29831,6 @@ loc_list_hasher::equal (const dw_loc_lis
- 	|| strcmp (a->end, b->end) != 0
- 	|| (a->section == NULL) != (b->section == NULL)
- 	|| (a->section && strcmp (a->section, b->section) != 0)
--	|| a->vbegin != b->vbegin || a->vend != b->vend
- 	|| !compare_locs (a->expr, b->expr))
-       break;
-   return a == NULL && b == NULL;
-@@ -30579,8 +29849,6 @@ optimize_location_lists_1 (dw_die_ref di
-   dw_attr_node *a;
-   unsigned ix;
-   dw_loc_list_struct **slot;
--  bool drop_locviews = false;
--  bool has_locviews = false;
- 
-   FOR_EACH_VEC_SAFE_ELT (die->die_attr, ix, a)
-     if (AT_class (a) == dw_val_class_loc_list)
-@@ -30591,33 +29859,11 @@ optimize_location_lists_1 (dw_die_ref di
- 	hash_loc_list (list);
- 	slot = htab->find_slot_with_hash (list, list->hash, INSERT);
- 	if (*slot == NULL)
--	  {
--	    *slot = list;
--	    if (loc_list_has_views (list))
--	      gcc_assert (list->vl_symbol);
--	    else if (list->vl_symbol)
--	      {
--		drop_locviews = true;
--		list->vl_symbol = NULL;
--	      }
--	  }
-+	  *slot = list;
- 	else
--	  {
--	    if (list->vl_symbol && !(*slot)->vl_symbol)
--	      drop_locviews = true;
--	    a->dw_attr_val.v.val_loc_list = *slot;
--	  }
--      }
--    else if (AT_class (a) == dw_val_class_view_list)
--      {
--	gcc_checking_assert (a->dw_attr == DW_AT_GNU_locviews);
--	has_locviews = true;
-+          a->dw_attr_val.v.val_loc_list = *slot;
-       }
- 
--
--  if (drop_locviews && has_locviews)
--    remove_AT (die, DW_AT_GNU_locviews);
--
-   FOR_EACH_CHILD (die, c, optimize_location_lists_1 (c, htab));
- }
- 
-@@ -30642,7 +29888,7 @@ index_location_lists (dw_die_ref die)
-             /* Don't index an entry that has already been indexed
-                or won't be output.  */
-             if (curr->begin_entry != NULL
--                || skip_loc_list_entry (curr))
-+                || (strcmp (curr->begin, curr->end) == 0 && !curr->force))
-               continue;
- 
-             curr->begin_entry
-@@ -30750,9 +29996,6 @@ dwarf2out_finish (const char *)
-   /* Flush out any latecomers to the limbo party.  */
-   flush_limbo_die_list ();
- 
--  if (inline_entry_data_table)
--    gcc_assert (inline_entry_data_table->elements () == 0);
--
-   if (flag_checking)
-     {
-       verify_die (comp_unit_die ());
-@@ -31069,7 +30312,7 @@ dwarf2out_finish (const char *)
- 	  dw2_asm_output_delta (DWARF_OFFSET_SIZE, l2, l1,
- 			    "Length of Location Lists");
- 	  ASM_OUTPUT_LABEL (asm_out_file, l1);
--	  output_dwarf_version ();
-+	  dw2_asm_output_data (2, dwarf_version, "DWARF Version");
- 	  dw2_asm_output_data (1, DWARF2_ADDR_SIZE, "Address Size");
- 	  dw2_asm_output_data (1, 0, "Segment Size");
- 	  dw2_asm_output_data (4, dwarf_split_debug_info ? loc_list_idx : 0,
-@@ -31128,7 +30371,7 @@ dwarf2out_finish (const char *)
-      used by the debug_info section are marked as 'used'.  */
-   switch_to_section (debug_line_section);
-   ASM_OUTPUT_LABEL (asm_out_file, debug_line_section_label);
--  if (! output_asm_line_debug_info ())
-+  if (! DWARF2_ASM_LINE_DEBUG_INFO)
-     output_line_info (false);
- 
-   if (dwarf_split_debug_info && info_section_emitted)
---- gcc/dwarf2out.h	(revision 257511)
-+++ gcc/dwarf2out.h	(revision 257509)
-@@ -160,8 +160,7 @@ enum dw_val_class
-   dw_val_class_discr_list,
-   dw_val_class_const_implicit,
-   dw_val_class_unsigned_const_implicit,
--  dw_val_class_file_implicit,
--  dw_val_class_view_list
-+  dw_val_class_file_implicit
- };
- 
- /* Describe a floating point constant value, or a vector constant value.  */
-@@ -204,7 +203,6 @@ struct GTY(()) dw_val_node {
-       rtx GTY ((tag ("dw_val_class_addr"))) val_addr;
-       unsigned HOST_WIDE_INT GTY ((tag ("dw_val_class_offset"))) val_offset;
-       dw_loc_list_ref GTY ((tag ("dw_val_class_loc_list"))) val_loc_list;
--      dw_die_ref GTY ((tag ("dw_val_class_view_list"))) val_view_list;
-       dw_loc_descr_ref GTY ((tag ("dw_val_class_loc"))) val_loc;
-       HOST_WIDE_INT GTY ((default)) val_int;
-       unsigned HOST_WIDE_INT
---- gcc/gimple-pretty-print.c	(revision 257511)
-+++ gcc/gimple-pretty-print.c	(revision 257509)
-@@ -1371,19 +1371,6 @@ dump_gimple_debug (pretty_printer *buffe
- 	dump_gimple_fmt (buffer, spc, flags, "# DEBUG BEGIN_STMT");
-       break;
- 
--    case GIMPLE_DEBUG_INLINE_ENTRY:
--      if (flags & TDF_RAW)
--	dump_gimple_fmt (buffer, spc, flags, "%G INLINE_ENTRY %T", gs,
--			 gimple_block (gs)
--			 ? block_ultimate_origin (gimple_block (gs))
--			 : NULL_TREE);
--      else
--	dump_gimple_fmt (buffer, spc, flags, "# DEBUG INLINE_ENTRY %T",
--			 gimple_block (gs)
--			 ? block_ultimate_origin (gimple_block (gs))
--			 : NULL_TREE);
--      break;
--
-     default:
-       gcc_unreachable ();
-     }
---- gcc/configure.ac	(revision 257511)
-+++ gcc/configure.ac	(revision 257509)
-@@ -4902,25 +4902,9 @@ if test x"$insn" != x; then
- 
-  if test $gcc_cv_as_dwarf2_debug_line = yes \
-  && test $gcc_cv_as_dwarf2_file_buggy = no; then
--    AC_DEFINE(HAVE_AS_DWARF2_DEBUG_LINE, 1,
-+	AC_DEFINE(HAVE_AS_DWARF2_DEBUG_LINE, 1,
-   [Define if your assembler supports dwarf2 .file/.loc directives,
-    and preserves file table indices exactly as given.])
--
--    if test $gcc_cv_as_leb128 = yes; then
--	conftest_s="\
--	.file 1 \"conftest.s\"
--	.loc 1 3 0 view .LVU1
--	$insn
--	.data
--	.uleb128 .LVU1
--	.uleb128 .LVU1
--"
--	gcc_GAS_CHECK_FEATURE([dwarf2 debug_view support],
--	  gcc_cv_as_dwarf2_debug_view,
--	  [elf,2,27,0],,[$conftest_s],,
--	  [AC_DEFINE(HAVE_AS_DWARF2_DEBUG_VIEW, 1,
--  [Define if your assembler supports views in dwarf2 .loc directives.])])
--    fi
-  fi
- 
-  gcc_GAS_CHECK_FEATURE([--gdwarf2 option],
---- gcc/print-rtl.c	(revision 257511)
-+++ gcc/print-rtl.c	(revision 257509)
-@@ -276,7 +276,6 @@ rtx_writer::print_rtx_operand_code_0 (co
- 	  break;
- 
- 	case NOTE_INSN_BEGIN_STMT:
--	case NOTE_INSN_INLINE_ENTRY:
- #ifndef GENERATOR_FILE
- 	  {
- 	    expanded_location xloc
-@@ -1880,10 +1879,6 @@ print_insn (pretty_printer *pp, const rt
- 		pp_string (pp, "debug begin stmt marker");
- 		break;
- 
--	      case NOTE_INSN_INLINE_ENTRY:
--		pp_string (pp, "debug inline entry marker");
--		break;
--
- 	      default:
- 		gcc_unreachable ();
- 	      }
---- gcc/cfgexpand.c	(revision 257511)
-+++ gcc/cfgexpand.c	(revision 257509)
-@@ -5731,15 +5731,6 @@ expand_gimple_basic_block (basic_block b
- 		goto delink_debug_stmt;
- 	      else if (gimple_debug_begin_stmt_p (stmt))
- 		val = GEN_RTX_DEBUG_MARKER_BEGIN_STMT_PAT ();
--	      else if (gimple_debug_inline_entry_p (stmt))
--		{
--		  tree block = gimple_block (stmt);
--
--		  if (block)
--		    val = GEN_RTX_DEBUG_MARKER_INLINE_ENTRY_PAT ();
--		  else
--		    goto delink_debug_stmt;
--		}
- 	      else
- 		gcc_unreachable ();
- 
---- gcc/tree-ssa-live.c	(revision 257511)
-+++ gcc/tree-ssa-live.c	(revision 257509)
-@@ -520,11 +520,6 @@ remove_unused_scope_block_p (tree scope,
-    else if (!BLOCK_SUPERCONTEXT (scope)
-             || TREE_CODE (BLOCK_SUPERCONTEXT (scope)) == FUNCTION_DECL)
-      unused = false;
--   /* Preserve the block, it is referenced by at least the inline
--      entry point marker.  */
--   else if (debug_nonbind_markers_p
--	    && inlined_function_outer_scope_p (scope))
--     unused = false;
-    /* Innermost blocks with no live variables nor statements can be always
-       eliminated.  */
-    else if (!nsubblocks)
-@@ -553,13 +548,11 @@ remove_unused_scope_block_p (tree scope,
-      }
-    else if (BLOCK_VARS (scope) || BLOCK_NUM_NONLOCALIZED_VARS (scope))
-      unused = false;
--   /* See if this block is important for representation of inlined
--      function.  Inlined functions are always represented by block
--      with block_ultimate_origin being set to FUNCTION_DECL and
--      DECL_SOURCE_LOCATION set, unless they expand to nothing...  But
--      see above for the case of statement frontiers.  */
--   else if (!debug_nonbind_markers_p
--	    && inlined_function_outer_scope_p (scope))
-+   /* See if this block is important for representation of inlined function.
-+      Inlined functions are always represented by block with
-+      block_ultimate_origin being set to FUNCTION_DECL and DECL_SOURCE_LOCATION
-+      set...  */
-+   else if (inlined_function_outer_scope_p (scope))
-      unused = false;
-    else
-    /* Verfify that only blocks with source location set
-@@ -647,16 +640,6 @@ dump_scope_block (FILE *file, int indent
- 	    fprintf (file, "#%i", BLOCK_NUMBER (origin));
- 	}
-     }
--  if (BLOCK_FRAGMENT_ORIGIN (scope))
--    fprintf (file, " Fragment of : #%i",
--	     BLOCK_NUMBER (BLOCK_FRAGMENT_ORIGIN (scope)));
--  else if (BLOCK_FRAGMENT_CHAIN (scope))
--    {
--      fprintf (file, " Fragment chain :");
--      for (t = BLOCK_FRAGMENT_CHAIN (scope); t ;
--	   t = BLOCK_FRAGMENT_CHAIN (t))
--	fprintf (file, " #%i", BLOCK_NUMBER (t));
--    }
-   fprintf (file, " \n");
-   for (var = BLOCK_VARS (scope); var; var = DECL_CHAIN (var))
-     {
---- gcc/common.opt	(revision 257511)
-+++ gcc/common.opt	(revision 257509)
-@@ -2956,13 +2956,6 @@ gtoggle
- Common Driver Report Var(flag_gtoggle)
- Toggle debug information generation.
- 
--gvariable-location-views
--Common Driver Var(debug_variable_location_views, 1) Init(2)
--Augment variable location lists with progressive views.
--
--gvariable-location-views=incompat5
--Common Driver RejectNegative Var(debug_variable_location_views, -1) Init(2)
--
- gvms
- Common Driver JoinedOrMissing Negative(gxcoff)
- Generate debug information in VMS format.
---- gcc/rtl.h	(revision 257511)
-+++ gcc/rtl.h	(revision 257509)
-@@ -1654,8 +1654,7 @@ extern const char * const reg_note_name[
-    for which NOTE_MARKER_LOCATION can be used.  */
- #define NOTE_MARKER_P(INSN)				\
-   (NOTE_P (INSN) &&					\
--   (NOTE_KIND (INSN) == NOTE_INSN_BEGIN_STMT		\
--    || NOTE_KIND (INSN) == NOTE_INSN_INLINE_ENTRY))
-+   (NOTE_KIND (INSN) == NOTE_INSN_BEGIN_STMT))
- 
- /* Variable declaration and the location of a variable.  */
- #define PAT_VAR_LOCATION_DECL(PAT) (XCTREE ((PAT), 0, VAR_LOCATION))
-@@ -1693,8 +1692,6 @@ extern const char * const reg_note_name[
-   (GET_CODE (PATTERN (INSN)) == DEBUG_MARKER	  \
-    ? (GET_MODE (PATTERN (INSN)) == VOIDmode	  \
-       ? NOTE_INSN_BEGIN_STMT			  \
--      : GET_MODE (PATTERN (INSN)) == BLKmode	  \
--      ? NOTE_INSN_INLINE_ENTRY			  \
-       : (enum insn_note)-1) 			  \
-    : (enum insn_note)-1)
- /* Create patterns for debug markers.  These and the above abstract
-@@ -1704,8 +1701,6 @@ extern const char * const reg_note_name[
-    wouldn't be a problem.  */
- #define GEN_RTX_DEBUG_MARKER_BEGIN_STMT_PAT() \
-   gen_rtx_DEBUG_MARKER (VOIDmode)
--#define GEN_RTX_DEBUG_MARKER_INLINE_ENTRY_PAT() \
--  gen_rtx_DEBUG_MARKER (BLKmode)
- 
- /* The VAR_LOCATION rtx in a DEBUG_INSN.  */
- #define INSN_VAR_LOCATION(INSN) \
---- gcc/tree-inline.c	(revision 257511)
-+++ gcc/tree-inline.c	(revision 257509)
-@@ -4605,13 +4605,6 @@ expand_call_inline (basic_block bb, gimp
- 			GSI_NEW_STMT);
-     }
-   initialize_inlined_parameters (id, stmt, fn, bb);
--  if (debug_nonbind_markers_p && id->block
--      && inlined_function_outer_scope_p (id->block))
--    {
--      gimple_stmt_iterator si = gsi_last_bb (bb);
--      gsi_insert_after (&si, gimple_build_debug_inline_entry
--			(id->block, input_location), GSI_NEW_STMT);
--    }
- 
-   if (DECL_INITIAL (fn))
-     {
---- gcc/var-tracking.c	(revision 257511)
-+++ gcc/var-tracking.c	(revision 257509)
-@@ -9959,7 +9959,6 @@ reemit_marker_as_note (rtx_insn *insn)
-   switch (kind)
-     {
-     case NOTE_INSN_BEGIN_STMT:
--    case NOTE_INSN_INLINE_ENTRY:
-       {
- 	rtx_insn *note = NULL;
- 	if (cfun->debug_nonbind_markers)
---- gcc/gimple.c	(revision 257511)
-+++ gcc/gimple.c	(revision 257509)
-@@ -874,27 +874,6 @@ gimple_build_debug_begin_stmt (tree bloc
- }
- 
- 
--/* Build a new GIMPLE_DEBUG_INLINE_ENTRY statement in BLOCK at
--   LOCATION.  The BLOCK links to the inlined function.  */
--
--gdebug *
--gimple_build_debug_inline_entry (tree block, location_t location
--				      MEM_STAT_DECL)
--{
--  gdebug *p
--    = as_a <gdebug *> (
--        gimple_build_with_ops_stat (GIMPLE_DEBUG,
--				    (unsigned)GIMPLE_DEBUG_INLINE_ENTRY, 0
--				    PASS_MEM_STAT));
--
--  gimple_set_location (p, location);
--  gimple_set_block (p, block);
--  cfun->debug_marker_count++;
--
--  return p;
--}
--
--
- /* Build a GIMPLE_OMP_CRITICAL statement.
- 
-    BODY is the sequence of statements for which only one thread can execute.
---- gcc/gimple.h	(revision 257511)
-+++ gcc/gimple.h	(revision 257509)
-@@ -202,8 +202,7 @@ enum gf_mask {
- enum gimple_debug_subcode {
-   GIMPLE_DEBUG_BIND = 0,
-   GIMPLE_DEBUG_SOURCE_BIND = 1,
--  GIMPLE_DEBUG_BEGIN_STMT = 2,
--  GIMPLE_DEBUG_INLINE_ENTRY = 3
-+  GIMPLE_DEBUG_BEGIN_STMT = 2
- };
- 
- /* Masks for selecting a pass local flag (PLF) to work on.  These
-@@ -1455,7 +1454,6 @@ geh_dispatch *gimple_build_eh_dispatch (
- gdebug *gimple_build_debug_bind (tree, tree, gimple * CXX_MEM_STAT_INFO);
- gdebug *gimple_build_debug_source_bind (tree, tree, gimple * CXX_MEM_STAT_INFO);
- gdebug *gimple_build_debug_begin_stmt (tree, location_t CXX_MEM_STAT_INFO);
--gdebug *gimple_build_debug_inline_entry (tree, location_t CXX_MEM_STAT_INFO);
- gomp_critical *gimple_build_omp_critical (gimple_seq, tree, tree);
- gomp_for *gimple_build_omp_for (gimple_seq, int, tree, size_t, gimple_seq);
- gomp_parallel *gimple_build_omp_parallel (gimple_seq, tree, tree, tree);
-@@ -4786,25 +4784,13 @@ gimple_debug_begin_stmt_p (const gimple
-   return false;
- }
- 
--/* Return true if S is a GIMPLE_DEBUG INLINE_ENTRY statement.  */
--
--static inline bool
--gimple_debug_inline_entry_p (const gimple *s)
--{
--  if (is_gimple_debug (s))
--    return s->subcode == GIMPLE_DEBUG_INLINE_ENTRY;
--
--  return false;
--}
--
- /* Return true if S is a GIMPLE_DEBUG non-binding marker statement.  */
- 
- static inline bool
- gimple_debug_nonbind_marker_p (const gimple *s)
- {
-   if (is_gimple_debug (s))
--    return s->subcode == GIMPLE_DEBUG_BEGIN_STMT
--      || s->subcode == GIMPLE_DEBUG_INLINE_ENTRY;
-+    return s->subcode == GIMPLE_DEBUG_BEGIN_STMT;
- 
-   return false;
- }

diff --git a/sources b/sources
index f40e372..353b05a 100644
--- a/sources
+++ b/sources
@@ -1,3 +1,3 @@
-SHA512 (gcc-8.0.1-20180210.tar.xz) = 23d9af44e3c8fce98d5614ee5540d9119f5727eddacb217a15e8c8b38eae1ca66fd7d67d4015d2899d34cbbb7df87c5ce5ce13aa7779746973a1bf8b1c959bb0
+SHA512 (gcc-8.0.1-20180218.tar.xz) = a230134977b5137b19d7a40f8997da98d39e7653b3b009c68ed830d08fc5cbc76c0ba97ecc91501ba2bca899d46230f61881c8cc20277453d9ab06906f463cbd
 SHA512 (nvptx-newlib-aadc8eb0ec43b7cd0dd2dfb484bae63c8b05ef24.tar.xz) = 94f7089365296f7dfa485107b4143bebc850a81586f3460fd896bbbb6ba099a00217d4042133424fd2183b352132f4fd367e6a60599bdae2a26dfd48a77d0e04
 SHA512 (nvptx-tools-c28050f60193b3b95a18866a96f03334e874e78f.tar.xz) = a688cb12cf805950a5abbb13b52f45c81dbee98e310b7ed57ae20e76dbfa5964a16270148374a6426d177db71909d28360490f091c86a5d19d4faa5127beeee1

                 reply	other threads:[~2026-06-29 12:27 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=178273607253.1.17970425404498281938.rpms-gcc-d301a3c7b82b@fedoraproject.org \
    --to=jakub@redhat.com \
    --cc=git-commits@fedoraproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox