From b36a26343a6c62b313d9e101b369155b6b799535 Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Sat, 3 Feb 2024 14:32:06 -0700 Subject: Use reference result of emplace_back Starting with C++17, emplace_back returns a reference to the new object. This patch changes code that uses emplace_back followed by a call to back() to simply use this reference instead. Approved-By: Simon Marchi --- gdb/dwarf2/expr.c | 3 +-- gdb/dwarf2/read.c | 30 ++++++++---------------------- 2 files changed, 9 insertions(+), 24 deletions(-) (limited to 'gdb/dwarf2') diff --git a/gdb/dwarf2/expr.c b/gdb/dwarf2/expr.c index 01a4f53..9cfae10 100644 --- a/gdb/dwarf2/expr.c +++ b/gdb/dwarf2/expr.c @@ -1200,8 +1200,7 @@ dwarf_expr_context::stack_empty_p () const void dwarf_expr_context::add_piece (ULONGEST size, ULONGEST offset) { - this->m_pieces.emplace_back (); - dwarf_expr_piece &p = this->m_pieces.back (); + dwarf_expr_piece &p = this->m_pieces.emplace_back (); p.location = this->m_location; p.size = size; diff --git a/gdb/dwarf2/read.c b/gdb/dwarf2/read.c index e873d9c..eab56ec 100644 --- a/gdb/dwarf2/read.c +++ b/gdb/dwarf2/read.c @@ -11552,15 +11552,9 @@ dwarf2_add_field (struct field_info *fip, struct die_info *die, const char *fieldname = ""; if (die->tag == DW_TAG_inheritance) - { - fip->baseclasses.emplace_back (); - new_field = &fip->baseclasses.back (); - } + new_field = &fip->baseclasses.emplace_back (); else - { - fip->fields.emplace_back (); - new_field = &fip->fields.back (); - } + new_field = &fip->fields.emplace_back (); new_field->offset = die->sect_off; @@ -12071,16 +12065,14 @@ dwarf2_add_member_fn (struct field_info *fip, struct die_info *die, /* Create a new fnfieldlist if necessary. */ if (flp == nullptr) { - fip->fnfieldlists.emplace_back (); - flp = &fip->fnfieldlists.back (); + flp = &fip->fnfieldlists.emplace_back (); flp->name = fieldname; i = fip->fnfieldlists.size () - 1; } /* Create a new member function field and add it to the vector of fnfieldlists. */ - flp->fnfields.emplace_back (); - fnp = &flp->fnfields.back (); + fnp = &flp->fnfields.emplace_back (); /* Delay processing of the physname until later. */ if (cu->lang () == language_cplus) @@ -12681,10 +12673,7 @@ handle_variant_part (struct die_info *die, struct type *type, { variant_part_builder *new_part; if (fi->current_variant_part == nullptr) - { - fi->variant_parts.emplace_back (); - new_part = &fi->variant_parts.back (); - } + new_part = &fi->variant_parts.emplace_back (); else if (!fi->current_variant_part->processing_variant) { complaint (_("nested DW_TAG_variant_part seen " @@ -12696,8 +12685,7 @@ handle_variant_part (struct die_info *die, struct type *type, else { variant_field ¤t = fi->current_variant_part->variants.back (); - current.variant_parts.emplace_back (); - new_part = ¤t.variant_parts.back (); + new_part = ¤t.variant_parts.emplace_back (); } /* When we recurse, we want callees to add to this new variant @@ -12761,8 +12749,7 @@ handle_variant (struct die_info *die, struct type *type, = make_scoped_restore (&fi->current_variant_part->processing_variant, true); - fi->current_variant_part->variants.emplace_back (); - variant_field &variant = fi->current_variant_part->variants.back (); + variant_field &variant = fi->current_variant_part->variants.emplace_back (); variant.first_field = fi->fields.size (); /* In a variant we want to get the discriminant and also add a @@ -13157,8 +13144,7 @@ update_enumeration_type_from_children (struct die_info *die, flag_enum = 0; } - fields.emplace_back (); - struct field &field = fields.back (); + struct field &field = fields.emplace_back (); field.set_name (dwarf2_physname (name, child_die, cu)); field.set_loc_enumval (value); } -- cgit v1.1