From patchwork Sun Feb 4 18:18:49 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tom Tromey X-Patchwork-Id: 85285 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 3CFE13858287 for ; Sun, 4 Feb 2024 18:19:31 +0000 (GMT) X-Original-To: gdb-patches@sourceware.org Delivered-To: gdb-patches@sourceware.org Received: from omta34.uswest2.a.cloudfilter.net (omta34.uswest2.a.cloudfilter.net [35.89.44.33]) by sourceware.org (Postfix) with ESMTPS id C1E8B3858CDB for ; Sun, 4 Feb 2024 18:19:02 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org C1E8B3858CDB Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=tromey.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=tromey.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org C1E8B3858CDB Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=35.89.44.33 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1707070746; cv=none; b=Z+KF6ZTR0VfNlR2HNezCDRtjYWuJawn0HE0laHBi3R3di6kNwcseFYu//XLQv1JvlfxkwP+FrNf2WfsYDsRJM1JZ5LHExo8KZGidQ8xNV4QvTbcZ+MFHA94eerfcLMyUwPTJOe5vu6BfLnF10uJwhOaSqbH/hEoqN/kXOi823Lo= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1707070746; c=relaxed/simple; bh=NCY3ScqYLs2A9JETPTLbIF+1yT3mlROJGvNxGpNuiLU=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=JCH7siE9TpuzP+THxWo+WUIsxSMkwPzE/UveRfYc5tYOL3Q6bwkdwgFd2cQ7CImRTP6bM5DanA6uZMd/OBkY9+bnRgNmi4BIXVtfoVsfAj2vxQwECOeACvetkx91qUL8jMfQGreF6+L+L1lW5vpxSxVqYlNlZi64YEByI4DB31Y= ARC-Authentication-Results: i=1; server2.sourceware.org Received: from eig-obgw-6007a.ext.cloudfilter.net ([10.0.30.247]) by cmsmtp with ESMTPS id WfnCrVETGpUFLWh53rmTaO; Sun, 04 Feb 2024 18:19:01 +0000 Received: from box5379.bluehost.com ([162.241.216.53]) by cmsmtp with ESMTPS id Wh52r4GV03S2EWh52rMstO; Sun, 04 Feb 2024 18:19:01 +0000 X-Authority-Analysis: v=2.4 cv=foN/Z04f c=1 sm=1 tr=0 ts=65bfd515 a=ApxJNpeYhEAb1aAlGBBbmA==:117 a=ApxJNpeYhEAb1aAlGBBbmA==:17 a=k7vzHIieQBIA:10 a=Qbun_eYptAEA:10 a=QvS0oHJrxy28FyHYeioA:9 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=tromey.com; s=default; h=Content-Transfer-Encoding:MIME-Version:Message-ID:Date:Subject: Cc:To:From:Sender:Reply-To:Content-Type:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: In-Reply-To:References:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=eLAX6stSsz4zrFCOZWKaR1lPGAj95fcZ71eI6vKYeWc=; b=tzKT7zvDyjIQp2G/DhusnTC01M BwAAKthfMBfmqSXHgHu/UNkLG1MkUeJG2wKlrKzA3vfYAR1xa/obUM+qtNXAanMIgQ5/V/i9+XspG gOb6CHPOnztMbgtJaWCtLw1Ul; Received: from 97-122-68-157.hlrn.qwest.net ([97.122.68.157]:36276 helo=localhost.localdomain) by box5379.bluehost.com with esmtpsa (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96.2) (envelope-from ) id 1rWh52-004C3K-0y; Sun, 04 Feb 2024 11:19:00 -0700 From: Tom Tromey To: gdb-patches@sourceware.org Cc: Tom Tromey Subject: [PATCH] Use reference result of emplace_back Date: Sun, 4 Feb 2024 11:18:49 -0700 Message-ID: <20240204181849.3345797-1-tom@tromey.com> X-Mailer: git-send-email 2.43.0 MIME-Version: 1.0 X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - box5379.bluehost.com X-AntiAbuse: Original Domain - sourceware.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - tromey.com X-BWhitelist: no X-Source-IP: 97.122.68.157 X-Source-L: No X-Exim-ID: 1rWh52-004C3K-0y X-Source: X-Source-Args: X-Source-Dir: X-Source-Sender: 97-122-68-157.hlrn.qwest.net (localhost.localdomain) [97.122.68.157]:36276 X-Source-Auth: tom+tromey.com X-Email-Count: 1 X-Org: HG=bhshared;ORG=bluehost; X-Source-Cap: ZWx5bnJvYmk7ZWx5bnJvYmk7Ym94NTM3OS5ibHVlaG9zdC5jb20= X-Local-Domain: yes X-CMAE-Envelope: MS4xfBiPWNVkpUB9dMsJ01S/0KjDRjM3lhLj5f7oBsqtouf7cOBLvfALc7II8J8lhIptRDXidaEGbAIxsJyIuMaztTGmYoF39V4MDEkmmH6Is+DCxbGHoSkT mzmvA+Wez1z+WexOvKraYYqdpbx1Ejpgs6bmFSVh6GFb38iVTNeu6u9bRrqskgfTczicoSx8lw7VDMhEk50hLDH2c55Yv/H0uvI= X-Spam-Status: No, score=-3022.6 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, GIT_PATCH_0, JMQ_SPF_NEUTRAL, RCVD_IN_MSPIKE_H2, SPF_HELO_NONE, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gdb-patches-bounces+patchwork=sourceware.org@sourceware.org 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. --- gdb/ada-lex.l | 4 ++-- gdb/btrace.c | 4 ++-- gdb/buildsym.c | 6 ++---- gdb/dwarf2/expr.c | 3 +-- gdb/dwarf2/read.c | 30 ++++++++---------------------- gdb/macroexp.c | 7 ++----- gdb/remote.c | 3 +-- gdb/reverse.c | 3 +-- gdb/tracepoint.c | 3 +-- gdb/ui-out.c | 9 +++------ gdb/windows-nat.c | 3 +-- gdb/xcoffread.c | 3 +-- 12 files changed, 25 insertions(+), 53 deletions(-) diff --git a/gdb/ada-lex.l b/gdb/ada-lex.l index bb43673edfd..828ff9a9215 100644 --- a/gdb/ada-lex.l +++ b/gdb/ada-lex.l @@ -462,8 +462,8 @@ processInt (struct parser_state *par_state, const char *base0, return FLOAT; } - int_storage.emplace_back (new gdb_mpz (std::move (result))); - const gdb_mpz *value = int_storage.back ().get (); + const gdb_mpz *value + = int_storage.emplace_back (new gdb_mpz (std::move (result))).get (); int int_bits = gdbarch_int_bit (par_state->gdbarch ()); int long_bits = gdbarch_long_bit (par_state->gdbarch ()); diff --git a/gdb/btrace.c b/gdb/btrace.c index a2aaa200a75..b5a047b245b 100644 --- a/gdb/btrace.c +++ b/gdb/btrace.c @@ -255,8 +255,8 @@ ftrace_new_function (struct btrace_thread_info *btinfo, insn_offset = prev->insn_offset + ftrace_call_num_insn (prev); } - btinfo->functions.emplace_back (mfun, fun, number, insn_offset, level); - return &btinfo->functions.back (); + return &btinfo->functions.emplace_back (mfun, fun, number, insn_offset, + level); } /* Update the UP field of a function segment. */ diff --git a/gdb/buildsym.c b/gdb/buildsym.c index a963219a0d2..506110989bf 100644 --- a/gdb/buildsym.c +++ b/gdb/buildsym.c @@ -661,8 +661,7 @@ buildsym_compunit::record_line (struct subfile *subfile, int line, return; } - subfile->line_vector_entries.emplace_back (); - linetable_entry &e = subfile->line_vector_entries.back (); + linetable_entry &e = subfile->line_vector_entries.emplace_back (); e.line = line; e.is_stmt = (flags & LEF_IS_STMT) != 0; e.set_unrelocated_pc (pc); @@ -1134,8 +1133,7 @@ buildsym_compunit::augment_type_symtab () struct context_stack * buildsym_compunit::push_context (int desc, CORE_ADDR valu) { - m_context_stack.emplace_back (); - struct context_stack *newobj = &m_context_stack.back (); + struct context_stack *newobj = &m_context_stack.emplace_back (); newobj->depth = desc; newobj->locals = m_local_symbols; diff --git a/gdb/dwarf2/expr.c b/gdb/dwarf2/expr.c index 01a4f53f213..9cfae104f31 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 e873d9cc440..eab56ec505d 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); } diff --git a/gdb/macroexp.c b/gdb/macroexp.c index 9523550e6f6..b8a9b29db24 100644 --- a/gdb/macroexp.c +++ b/gdb/macroexp.c @@ -789,12 +789,10 @@ gather_arguments (const char *name, shared_macro_buffer *src, int nargs, for (;;) { - shared_macro_buffer *arg; int depth; /* Initialize the next argument. */ - args.emplace_back (); - arg = &args.back (); + shared_macro_buffer *arg = &args.emplace_back (); set_token (arg, src->text, src->text); /* Gather the argument's tokens. */ @@ -819,8 +817,7 @@ gather_arguments (const char *name, shared_macro_buffer *src, int nargs, missing. Add an empty argument in this case. */ if (nargs != -1 && args.size () == nargs - 1) { - args.emplace_back (); - arg = &args.back (); + arg = &args.emplace_back (); set_token (arg, src->text, src->text); } diff --git a/gdb/remote.c b/gdb/remote.c index 72f14e28f54..f77548427a4 100644 --- a/gdb/remote.c +++ b/gdb/remote.c @@ -4027,8 +4027,7 @@ start_thread (struct gdb_xml_parser *parser, char *id = (char *) xml_find_attribute (attributes, "id")->value.get (); ptid_t ptid = read_ptid (id, NULL); - data->items.emplace_back (ptid); - thread_item &item = data->items.back (); + thread_item &item = data->items.emplace_back (ptid); attr = xml_find_attribute (attributes, "core"); if (attr != NULL) diff --git a/gdb/reverse.c b/gdb/reverse.c index 035623aba9f..9a011631a32 100644 --- a/gdb/reverse.c +++ b/gdb/reverse.c @@ -123,8 +123,7 @@ save_bookmark_command (const char *args, int from_tty) error (_("target_get_bookmark failed.")); /* Set up a bookmark struct. */ - all_bookmarks.emplace_back (); - bookmark &b = all_bookmarks.back (); + bookmark &b = all_bookmarks.emplace_back (); b.number = ++bookmark_count; b.pc = regcache_read_pc (regcache); b.sal = find_pc_line (b.pc, 0); diff --git a/gdb/tracepoint.c b/gdb/tracepoint.c index abe8d2b45f4..7005ca83455 100644 --- a/gdb/tracepoint.c +++ b/gdb/tracepoint.c @@ -253,8 +253,7 @@ set_traceframe_context (frame_info_ptr trace_frame) struct trace_state_variable * create_trace_state_variable (const char *name) { - tvariables.emplace_back (name, next_tsv_number++); - return &tvariables.back (); + return &tvariables.emplace_back (name, next_tsv_number++); } /* Look for a trace state variable of the given name. */ diff --git a/gdb/ui-out.c b/gdb/ui-out.c index 23f4ce0fbb1..f48f6783e0f 100644 --- a/gdb/ui-out.c +++ b/gdb/ui-out.c @@ -906,8 +906,7 @@ buffer_group::write (const char *buf, long length_buf, ui_file *stream) m_buffered_output.back ().m_msg.append (msg); else { - m_buffered_output.emplace_back (msg); - m_buffered_output.back ().m_stream = stream; + m_buffered_output.emplace_back (msg).m_stream = stream; } prev = cur + 1; } @@ -918,8 +917,7 @@ buffer_group::write (const char *buf, long length_buf, ui_file *stream) void buffer_group::wrap_here (int indent, ui_file *stream) { - m_buffered_output.emplace_back ("", indent); - m_buffered_output.back ().m_stream = stream; + m_buffered_output.emplace_back ("", indent).m_stream = stream; } /* See ui-out.h. */ @@ -927,8 +925,7 @@ buffer_group::wrap_here (int indent, ui_file *stream) void buffer_group::flush_here (ui_file *stream) { - m_buffered_output.emplace_back ("", -1, true); - m_buffered_output.back ().m_stream = stream; + m_buffered_output.emplace_back ("", -1, true).m_stream = stream; } /* See ui-out.h. */ diff --git a/gdb/windows-nat.c b/gdb/windows-nat.c index 6fdd1f3a151..48b0d10d24c 100644 --- a/gdb/windows-nat.c +++ b/gdb/windows-nat.c @@ -887,8 +887,7 @@ windows_make_so (const char *name, LPVOID load_addr) } } #endif - windows_process.solibs.emplace_back (); - windows_solib *so = &windows_process.solibs.back (); + windows_solib *so = &windows_process.solibs.emplace_back (); so->load_addr = load_addr; so->original_name = name; #ifndef __CYGWIN__ diff --git a/gdb/xcoffread.c b/gdb/xcoffread.c index 589208cda68..e324f4ef8ca 100644 --- a/gdb/xcoffread.c +++ b/gdb/xcoffread.c @@ -428,8 +428,7 @@ arrange_linetable (std::vector &old_linetable) if (old_linetable[ii].line == 0) { /* Function entry found. */ - fentries.emplace_back (); - linetable_entry &e = fentries.back (); + linetable_entry &e = fentries.emplace_back (); e.line = ii; e.is_stmt = true; e.set_unrelocated_pc (old_linetable[ii].unrelocated_pc ());