Message ID | CY5PR21MB3542346DCE5393A1BEDAB13E91569@CY5PR21MB3542.namprd21.prod.outlook.com |
---|---|
State | New |
Headers | show |
Series | Emit discriminators for inlined call sites. | expand |
On Fri, Sep 30, 2022 at 8:28 AM Eugene Rozenfeld via Gcc-patches <gcc-patches@gcc.gnu.org> wrote: > > This change is based on commit 9fa26998a63d4b22b637ed8702520819e408a694 > by Dehao Chen in vendors/google/heads/gcc-4_8. OK > gcc/ChangeLog: > > * dwarf2out.cc (add_call_src_coords_attributes): Emit discriminators for inlined call sites. > --- > gcc/dwarf2out.cc | 6 +++++- > 1 file changed, 5 insertions(+), 1 deletion(-) > > diff --git a/gcc/dwarf2out.cc b/gcc/dwarf2out.cc > index 2df75904022..e81044b8c48 100644 > --- a/gcc/dwarf2out.cc > +++ b/gcc/dwarf2out.cc > @@ -24783,7 +24783,8 @@ add_call_src_coords_attributes (tree stmt, dw_die_ref die) > if (RESERVED_LOCATION_P (BLOCK_SOURCE_LOCATION (stmt))) > return; > > - expanded_location s = expand_location (BLOCK_SOURCE_LOCATION (stmt)); > + location_t locus = BLOCK_SOURCE_LOCATION (stmt); > + expanded_location s = expand_location (locus); > > if (dwarf_version >= 3 || !dwarf_strict) > { > @@ -24791,6 +24792,9 @@ add_call_src_coords_attributes (tree stmt, dw_die_ref die) > add_AT_unsigned (die, DW_AT_call_line, s.line); > if (debug_column_info && s.column) > add_AT_unsigned (die, DW_AT_call_column, s.column); > + unsigned discr = get_discriminator_from_loc (locus); > + if (discr != 0) > + add_AT_unsigned (die, DW_AT_GNU_discriminator, discr); > } > } > > -- > 2.25.1
diff --git a/gcc/dwarf2out.cc b/gcc/dwarf2out.cc index 2df75904022..e81044b8c48 100644 --- a/gcc/dwarf2out.cc +++ b/gcc/dwarf2out.cc @@ -24783,7 +24783,8 @@ add_call_src_coords_attributes (tree stmt, dw_die_ref die) if (RESERVED_LOCATION_P (BLOCK_SOURCE_LOCATION (stmt))) return; - expanded_location s = expand_location (BLOCK_SOURCE_LOCATION (stmt)); + location_t locus = BLOCK_SOURCE_LOCATION (stmt); + expanded_location s = expand_location (locus); if (dwarf_version >= 3 || !dwarf_strict) { @@ -24791,6 +24792,9 @@ add_call_src_coords_attributes (tree stmt, dw_die_ref die) add_AT_unsigned (die, DW_AT_call_line, s.line); if (debug_column_info && s.column) add_AT_unsigned (die, DW_AT_call_column, s.column); + unsigned discr = get_discriminator_from_loc (locus); + if (discr != 0) + add_AT_unsigned (die, DW_AT_GNU_discriminator, discr); } }