From patchwork Tue Mar 14 00:12:15 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Pedro Alves X-Patchwork-Id: 19554 Received: (qmail 36722 invoked by alias); 14 Mar 2017 00:12:19 -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 36712 invoked by uid 89); 14 Mar 2017 00:12:18 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-27.2 required=5.0 tests=BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, RP_MATCHES_RCVD, SPF_HELO_PASS autolearn=ham version=3.3.2 spammy= 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; Tue, 14 Mar 2017 00:12:17 +0000 Received: from int-mx14.intmail.prod.int.phx2.redhat.com (int-mx14.intmail.prod.int.phx2.redhat.com [10.5.11.27]) (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 E5E8E61D0A for ; Tue, 14 Mar 2017 00:12:17 +0000 (UTC) Received: from cascais.lan (ovpn04.gateway.prod.ext.phx2.redhat.com [10.5.9.4]) by int-mx14.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id v2E0CGCZ019297 for ; Mon, 13 Mar 2017 20:12:17 -0400 From: Pedro Alves To: gdb-patches@sourceware.org Subject: [pushed] Restore test-cp-name-parser build Date: Tue, 14 Mar 2017 00:12:15 +0000 Message-Id: <1489450335-6320-1-git-send-email-palves@redhat.com> MIME-Version: 1.0 Commit c8b23b3f89fbb0 ("Add constructor and destructor to demangle_parse_info") a while ago broke the "test-cp-name-parser" build: $ make test-cp-name-parser [...] src/gdb/cp-name-parser.y: In function ‘int main(int, char**)’: src/gdb/cp-name-parser.y:2190:9: error: cannot convert ‘std::unique_ptr’ to ‘demangle_parse_info*’ in assignment result = cp_demangled_name_to_comp (str2, &errmsg); ^ src/gdb/cp-name-parser.y:2199:38: error: ‘cp_demangled_name_parse_free’ was not declared in this scope cp_demangled_name_parse_free (result); ^ src/gdb/cp-name-parser.y:2211:14: error: cannot convert ‘std::unique_ptr’ to ‘demangle_parse_info*’ in assignment result = cp_demangled_name_to_comp (argv[arg], &errmsg); ^ src/gdb/cp-name-parser.y:2219:43: error: ‘cp_demangled_name_parse_free’ was not declared in this scope cp_demangled_name_parse_free (result); ^ Makefile:2107: recipe for target 'test-cp-name-parser.o' failed make: *** [test-cp-name-parser.o] Error 1 This commit restores it. gdb/ChangeLog: 2017-03-14 Pedro Alves * cp-name-parser.y (cp_demangled_name_to_comp): Update comment. (main): Use std::unique_ptr. Remove calls to cp_demangled_name_parse_free. --- gdb/ChangeLog | 6 ++++++ gdb/cp-name-parser.y | 17 ++++++++--------- 2 files changed, 14 insertions(+), 9 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index b5edb572..608501b 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,9 @@ +2017-03-14 Pedro Alves + + * cp-name-parser.y (cp_demangled_name_to_comp): Update comment. + (main): Use std::unique_ptr. Remove calls to + cp_demangled_name_parse_free. + 2017-03-13 Simon Marchi * alpha-bsd-nat.c (alphabsd_fetch_inferior_registers, diff --git a/gdb/cp-name-parser.y b/gdb/cp-name-parser.y index 5278c05..70790fc 100644 --- a/gdb/cp-name-parser.y +++ b/gdb/cp-name-parser.y @@ -2057,10 +2057,9 @@ cp_merge_demangle_parse_infos (struct demangle_parse_info *dest, } /* Convert a demangled name to a demangle_component tree. On success, - a structure containing the root of the new tree is returned; it must - be freed by calling cp_demangled_name_parse_free. On error, NULL is - returned, and an error message will be set in *ERRMSG (which does - not need to be freed). */ + a structure containing the root of the new tree is returned. On + error, NULL is returned, and an error message will be set in + *ERRMSG (which does not need to be freed). */ struct std::unique_ptr cp_demangled_name_to_comp (const char *demangled_name, const char **errmsg) @@ -2161,7 +2160,6 @@ main (int argc, char **argv) char buf[65536]; int arg; const char *errmsg; - struct demangle_parse_info *result; arg = 1; if (argv[arg] && strcmp (argv[arg], "--debug") == 0) @@ -2187,7 +2185,9 @@ main (int argc, char **argv) printf ("%s\n", buf); continue; } - result = cp_demangled_name_to_comp (str2, &errmsg); + + std::unique_ptr result + = cp_demangled_name_to_comp (str2, &errmsg); if (result == NULL) { fputs (errmsg, stderr); @@ -2196,7 +2196,6 @@ main (int argc, char **argv) } cp_print (result->tree); - cp_demangled_name_parse_free (result); free (str2); if (c) @@ -2208,7 +2207,8 @@ main (int argc, char **argv) } else { - result = cp_demangled_name_to_comp (argv[arg], &errmsg); + std::unique_ptr result + = cp_demangled_name_to_comp (argv[arg], &errmsg); if (result == NULL) { fputs (errmsg, stderr); @@ -2216,7 +2216,6 @@ main (int argc, char **argv) return 0; } cp_print (result->tree); - cp_demangled_name_parse_free (result); putchar ('\n'); } return 0;