From patchwork Tue Jan 7 22:07:54 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tom Tromey X-Patchwork-Id: 37245 Received: (qmail 12353 invoked by alias); 7 Jan 2020 22:17:42 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Delivered-To: mailing list gdb-patches@sourceware.org Received: (qmail 12344 invoked by uid 89); 7 Jan 2020 22:17:42 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-22.6 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, RCVD_IN_DNSWL_NONE, SPF_PASS autolearn=ham version=3.3.1 spammy=HX-Languages-Length:2070, HContent-Transfer-Encoding:8bit X-HELO: rock.gnat.com Received: from rock.gnat.com (HELO rock.gnat.com) (205.232.38.15) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Tue, 07 Jan 2020 22:17:41 +0000 Received: from localhost (localhost.localdomain [127.0.0.1]) by filtered-rock.gnat.com (Postfix) with ESMTP id 69A90116CE6; Tue, 7 Jan 2020 17:07:57 -0500 (EST) Received: from rock.gnat.com ([127.0.0.1]) by localhost (rock.gnat.com [127.0.0.1]) (amavisd-new, port 10024) with LMTP id c3WojXvXc4En; Tue, 7 Jan 2020 17:07:57 -0500 (EST) Received: from murgatroyd.Home (75-166-123-50.hlrn.qwest.net [75.166.123.50]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by rock.gnat.com (Postfix) with ESMTPSA id 258E7116414; Tue, 7 Jan 2020 17:07:57 -0500 (EST) From: Tom Tromey To: gdb-patches@sourceware.org Cc: Tom Tromey Subject: [PATCH 4/4] Use std::string in dwarf2read.c Date: Tue, 7 Jan 2020 15:07:54 -0700 Message-Id: <20200107220754.24796-5-tromey@adacore.com> In-Reply-To: <20200107220754.24796-1-tromey@adacore.com> References: <20200107220754.24796-1-tromey@adacore.com> MIME-Version: 1.0 This replaces two instances of manual string management in dwarf2read.c with std::string. gdb/ChangeLog 2020-01-07 Tom Tromey * dwarf2read.c (parse_macro_definition): Use std::string. (parse_macro_definition): Likewise. Change-Id: Iec437100105484aa4a116fb5d651d7ed52ee9d81 --- gdb/ChangeLog | 5 +++++ gdb/dwarf2read.c | 13 +++++-------- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c index ad361df00b9..be03150b8db 100644 --- a/gdb/dwarf2read.c +++ b/gdb/dwarf2read.c @@ -24578,7 +24578,7 @@ parse_macro_definition (struct macro_source_file *file, int line, { /* It's an object-like macro. */ int name_len = p - body; - char *name = savestring (body, name_len); + std::string name (body, name_len); const char *replacement; if (*p == ' ') @@ -24589,14 +24589,12 @@ parse_macro_definition (struct macro_source_file *file, int line, replacement = body + name_len; } - macro_define_object (file, line, name, replacement); - - xfree (name); + macro_define_object (file, line, name.c_str (), replacement); } else if (*p == '(') { /* It's a function-like macro. */ - char *name = savestring (body, p - body); + std::string name (body, p - body); int argc = 0; int argv_size = 1; char **argv = XNEWVEC (char *, argv_size); @@ -24645,14 +24643,14 @@ parse_macro_definition (struct macro_source_file *file, int line, if (*p == ' ') /* Perfectly formed definition, no complaints. */ - macro_define_function (file, line, name, + macro_define_function (file, line, name.c_str (), argc, (const char **) argv, p + 1); else if (*p == '\0') { /* Complain, but do define it. */ dwarf2_macro_malformed_definition_complaint (body); - macro_define_function (file, line, name, + macro_define_function (file, line, name.c_str (), argc, (const char **) argv, p); } @@ -24664,7 +24662,6 @@ parse_macro_definition (struct macro_source_file *file, int line, /* Just complain. */ dwarf2_macro_malformed_definition_complaint (body); - xfree (name); { int i;