From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 34556 invoked by alias); 25 May 2018 16:30:07 -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 34461 invoked by uid 89); 25 May 2018 16:30:04 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.0 required=5.0 tests=AWL,BAYES_00,KAM_LAZY_DOMAIN_SECURITY,SPF_HELO_PASS autolearn=no version=3.3.2 spammy=Hx-languages-length:1737, ctor X-HELO: mx1.redhat.com Received: from mx3-rdu2.redhat.com (HELO mx1.redhat.com) (66.187.233.73) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Fri, 25 May 2018 16:30:03 +0000 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.rdu2.redhat.com [10.11.54.3]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 39AF74071188; Fri, 25 May 2018 16:30:02 +0000 (UTC) Received: from [127.0.0.1] (ovpn04.gateway.prod.ext.ams2.redhat.com [10.39.146.4]) by smtp.corp.redhat.com (Postfix) with ESMTP id B7757111AF29; Fri, 25 May 2018 16:30:01 +0000 (UTC) Subject: Re: [RFA] Remove cleanups from dbxread.c To: Tom Tromey , gdb-patches@sourceware.org References: <20180525150441.25246-1-tom@tromey.com> From: Pedro Alves Message-ID: Date: Fri, 25 May 2018 16:55:00 -0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.6.0 MIME-Version: 1.0 In-Reply-To: <20180525150441.25246-1-tom@tromey.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-SW-Source: 2018-05/txt/msg00675.txt.bz2 On 05/25/2018 04:04 PM, Tom Tromey wrote: > This removes the remaining cleanups from dbxread.c, via std::vector, > scoped_restore, and unique_xmalloc_ptr. > > Tested by the buildbot, but I'm not sure these code paths are actually > exercised there. Maybe not. Could just just smoke test some -gstabs binary, just in case? Looks good to me. Just a couple comments below. > /* The actual list and controling variables. */ > -static struct header_file_location *bincl_list, *next_bincl; > -static int bincls_allocated; > +static std::vector *bincl_list; I guess the "controlling variables" was "bincls_allocated", which is now gone. Maybe adjust the comment? > /* Add a bincl to the list. */ > > static void > add_bincl_to_list (struct partial_symtab *pst, const char *name, int instance) > { > - if (next_bincl >= bincl_list + bincls_allocated) > - { > - int offset = next_bincl - bincl_list; > + bincl_list->emplace_back (); > + struct header_file_location *next_bincl = &bincl_list->back (); > > - bincls_allocated *= 2; > - bincl_list = (struct header_file_location *) > - xrealloc ((char *) bincl_list, > - bincls_allocated * sizeof (struct header_file_location)); > - next_bincl = bincl_list + offset; > - } > next_bincl->pst = pst; > next_bincl->instance = instance; > - next_bincl++->name = name; > + next_bincl->name = name; > } I guess we could add a ctor to header_file_location, so we'd could write: bincl_list->emplace_back (pst, name, instance); Could even remove add_bincl_to_list then, I guess. Anyway, I totally understand if you want to stay strictly focused on the cleanups aspect, and this is not a request. That is OK. Thanks, Pedro Alves