From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 21968 invoked by alias); 14 Jan 2014 20:20:42 -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 21959 invoked by uid 89); 14 Jan 2014 20:20:42 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-3.0 required=5.0 tests=AWL,BAYES_00,RP_MATCHES_RCVD,SPF_HELO_PASS,SPF_PASS autolearn=ham version=3.3.2 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 Jan 2014 20:20:40 +0000 Received: from int-mx01.intmail.prod.int.phx2.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s0EKKaEA001414 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Tue, 14 Jan 2014 15:20:37 -0500 Received: from barimba (ovpn-113-85.phx2.redhat.com [10.3.113.85]) by int-mx01.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id s0EKKZDQ010308 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NO); Tue, 14 Jan 2014 15:20:36 -0500 From: Tom Tromey To: Pedro Alves Cc: gdb-patches@sourceware.org Subject: Re: [RFC 30/32] convert to_search_memory References: <1389640367-5571-1-git-send-email-tromey@redhat.com> <1389640367-5571-31-git-send-email-tromey@redhat.com> <52D593CA.5020704@redhat.com> Date: Tue, 14 Jan 2014 20:20:00 -0000 In-Reply-To: <52D593CA.5020704@redhat.com> (Pedro Alves's message of "Tue, 14 Jan 2014 19:45:14 +0000") Message-ID: <878uuiuxgs.fsf@fleche.redhat.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-SW-Source: 2014-01/txt/msg00476.txt.bz2 >>>>> "Pedro" == Pedro Alves writes: >> - if ((*t)->to_can_run && target_can_run (*t)) >> + if ((*t)->to_can_run != delegate_can_run && target_can_run (*t)) Pedro> OOC, I'm wondering how you envision translating checks Pedro> like this into a C++ world? Good question. Code like this only appears in places like find_default_run_target. These functions iterate over all the target_ops structures to find a suitable one to return. In the multi-target model, this idea does not really work. Abstractly, find_default_run_target is returning a type, not an instance; but in the long run we want most of the code to deal solely with instances. I'm not sure if this way of putting it makes sense... basically find_default_run_target can't return an instance of a target, but in order to do nearly anything useful with a target (in the multi-target future) the target must be instantiated to have an object with state. This means we're already going to need some restructuring in this area. So, while a straightforward translation to C++ is not really possible, I suspect it will also not be needed. But, if it is needed in the end, I think it can be done simply by adding fields to target_ops. Tom