From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 5033 invoked by alias); 11 Aug 2018 14:47:52 -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 5018 invoked by uid 89); 11 Aug 2018 14:47:51 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-3.0 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_NONE,SPF_HELO_PASS autolearn=ham version=3.3.2 spammy=transfer X-HELO: gateway33.websitewelcome.com Received: from gateway33.websitewelcome.com (HELO gateway33.websitewelcome.com) (192.185.145.216) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Sat, 11 Aug 2018 14:47:50 +0000 Received: from cm15.websitewelcome.com (cm15.websitewelcome.com [100.42.49.9]) by gateway33.websitewelcome.com (Postfix) with ESMTP id 94D8C3B99A for ; Sat, 11 Aug 2018 09:47:48 -0500 (CDT) Received: from box5379.bluehost.com ([162.241.216.53]) by cmsmtp with SMTP id oVBEfqpiTbXuJoVBEfFGbl; Sat, 11 Aug 2018 09:47:48 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=tromey.com; s=default; h=Content-Type:MIME-Version:Message-ID:In-Reply-To:Date: References:Subject:Cc:To:From:Sender:Reply-To:Content-Transfer-Encoding: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=rVtHbSOYseEDp4T0KYql1QCb1JhwRkIEPLA1/jYfjEU=; b=BiOn/X5XhV9bMe3DRgtzdi0FZ7 VJD/AM8qsJqRJ2kygTyWlnIIVbq1DODssYfpVaBwQyUUkVg4hNGmsC4aN2Q33Z1mglyKq6wsFH9Tc jUpJ3Y2WRXYTMBC2AavIq+a0I; Received: from 75-166-85-72.hlrn.qwest.net ([75.166.85.72]:57096 helo=bapiya) by box5379.bluehost.com with esmtpsa (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.91) (envelope-from ) id 1foVBE-003Zro-8h; Sat, 11 Aug 2018 09:47:48 -0500 From: Tom Tromey To: Keith Seitz Cc: gdb-patches@sourceware.org Subject: Re: [PATCH 1/9] Change `file_symtabs' to std::vector References: <20180810232534.481-1-keiths@redhat.com> <20180810232534.481-2-keiths@redhat.com> Date: Sat, 11 Aug 2018 14:47:00 -0000 In-Reply-To: <20180810232534.481-2-keiths@redhat.com> (Keith Seitz's message of "Fri, 10 Aug 2018 16:25:26 -0700") Message-ID: <877ekxufho.fsf@tromey.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1.50 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-SW-Source: 2018-08/txt/msg00316.txt.bz2 >>>>> "Keith" == Keith Seitz writes: Keith> This patch changes the `file_symtabs' members in linespec.c structures from Keith> a VEC to a std::vector, eliminating a cleanup in the process. Thank you for doing this. As you know, cleanup removal is something I'm very fond of. Keith> +typedef std::unique_ptr> symtab_vector_up; Keith> + std::vector *file_symtabs; It took me a while to figure out why these were pointers and not just ordinary vectors. But in the end I agree with the decision -- we can always do later passes to clean things up even more, and my own experience C++-ifying linespec was that it's all too tangled to do in one big go. Keith> -static VEC (symtab_ptr) * Keith> +static std::vector * Keith> collect_symtabs_from_filename (const char *file, Keith> struct program_space *pspace); IIUC, this transfers ownership of the symtab_vector_up from the collector to the caller. So how about having this, symtabs_from_filename, and symtab_collector::release_symbols return a symtab_vector_up instead? That would make the ownership transfer part of the API. Tom