From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 106079 invoked by alias); 9 Nov 2016 00:39:55 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 106061 invoked by uid 89); 9 Nov 2016 00:39:54 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-4.8 required=5.0 tests=BAYES_00,RP_MATCHES_RCVD,SPF_HELO_PASS autolearn=ham version=3.3.2 spammy=74532 X-HELO: mx1.redhat.com Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Wed, 09 Nov 2016 00:39:53 +0000 Received: from int-mx10.intmail.prod.int.phx2.redhat.com (int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 9CFB631B32C for ; Wed, 9 Nov 2016 00:39:52 +0000 (UTC) Received: from cascais.lan (ovpn01.gateway.prod.ext.ams2.redhat.com [10.39.146.11]) by int-mx10.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id uA90dpJA001144 for ; Tue, 8 Nov 2016 19:39:52 -0500 From: Pedro Alves To: gdb-patches@sourceware.org Subject: [PATCH] gdb: Use vector::emplace_back Date: Wed, 09 Nov 2016 00:39:00 -0000 Message-Id: <1478651991-5083-1-git-send-email-palves@redhat.com> X-SW-Source: 2016-11/txt/msg00198.txt.bz2 Now that we require C++11, we can use vector::emplace_back to construct elements in place instead of constructing and then copying. gdb/ChangeLog: yyyy-mm-dd Pedro Alves * main.c (struct cmdarg): Add constructor. (captured_main_1): Use vector::emplace_back. * tracepoint.c (collection_list::add_memrange): Likewise. --- gdb/main.c | 31 ++++++++++--------------------- gdb/tracepoint.c | 2 +- 2 files changed, 11 insertions(+), 22 deletions(-) diff --git a/gdb/main.c b/gdb/main.c index ca6a81e..fe57bf8 100644 --- a/gdb/main.c +++ b/gdb/main.c @@ -444,7 +444,12 @@ enum cmdarg_kind }; /* Arguments of --command option and its counterpart. */ -struct cmdarg { +struct cmdarg +{ + cmdarg (cmdarg_kind type_, char *string_) + : type (type_), string (string_) + {} + /* Type of this option. */ enum cmdarg_kind type; @@ -745,32 +750,16 @@ captured_main_1 (struct captured_main_args *context) pidarg = optarg; break; case 'x': - { - struct cmdarg cmdarg = { CMDARG_FILE, optarg }; - - cmdarg_vec.push_back (cmdarg); - } + cmdarg_vec.emplace_back (CMDARG_FILE, optarg); break; case 'X': - { - struct cmdarg cmdarg = { CMDARG_COMMAND, optarg }; - - cmdarg_vec.push_back (cmdarg); - } + cmdarg_vec.emplace_back (CMDARG_COMMAND, optarg); break; case OPT_IX: - { - struct cmdarg cmdarg = { CMDARG_INIT_FILE, optarg }; - - cmdarg_vec.push_back (cmdarg); - } + cmdarg_vec.emplace_back (CMDARG_INIT_FILE, optarg); break; case OPT_IEX: - { - struct cmdarg cmdarg = { CMDARG_INIT_COMMAND, optarg }; - - cmdarg_vec.push_back (cmdarg); - } + cmdarg_vec.emplace_back (CMDARG_INIT_COMMAND, optarg); break; case 'B': batch_flag = batch_silent = 1; diff --git a/gdb/tracepoint.c b/gdb/tracepoint.c index 3d28606..2a40b16 100644 --- a/gdb/tracepoint.c +++ b/gdb/tracepoint.c @@ -919,7 +919,7 @@ collection_list::add_memrange (int type, bfd_signed_vma base, /* type: memrange_absolute == memory, other n == basereg */ /* base: addr if memory, offset if reg relative. */ /* len: we actually save end (base + len) for convenience */ - m_memranges.push_back (memrange (type, base, base + len)); + m_memranges.emplace_back (type, base, base + len); if (type != memrange_absolute) /* Better collect the base register! */ add_register (type); -- 2.5.5