From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 16518 invoked by alias); 19 Oct 2011 20:49:38 -0000 Received: (qmail 16501 invoked by uid 22791); 19 Oct 2011 20:49:33 -0000 X-SWARE-Spam-Status: No, hits=-7.2 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_HI,RP_MATCHES_RCVD,SPF_HELO_PASS X-Spam-Check-By: sourceware.org Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Wed, 19 Oct 2011 20:49:18 +0000 Received: from int-mx12.intmail.prod.int.phx2.redhat.com (int-mx12.intmail.prod.int.phx2.redhat.com [10.5.11.25]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id p9JKnFon009601 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Wed, 19 Oct 2011 16:49:16 -0400 Received: from ns3.rdu.redhat.com (ns3.rdu.redhat.com [10.11.255.199]) by int-mx12.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id p9JKnFeq012488; Wed, 19 Oct 2011 16:49:15 -0400 Received: from barimba (ovpn01.gateway.prod.ext.phx2.redhat.com [10.5.9.1]) by ns3.rdu.redhat.com (8.13.8/8.13.8) with ESMTP id p9JKnEYe016739; Wed, 19 Oct 2011 16:49:14 -0400 From: Tom Tromey To: Paul Koning Cc: Li Yu , gdb-patches@sourceware.org Subject: Re: [PATCH v2] gdb/python: add missing handling for anonymous members of struct and union References: <4E8595F6.7080004@gmail.com> Date: Wed, 19 Oct 2011 20:52:00 -0000 In-Reply-To: (Paul Koning's message of "Tue, 4 Oct 2011 16:40:55 -0400") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.90 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain 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 X-SW-Source: 2011-10/txt/msg00541.txt.bz2 >>>>> "Paul" == Paul Koning writes: Paul> So we have: Paul> 1. Type field lookup: flat Paul> 2. Type iteration: flat Paul> 3. Value field lookup: recursive Paul> 4. [Value iteration: flat] (not submitted yet) Paul> And Yu's proposed change makes #2 recursive (but does not change #1). Paul> I think minimally things need to be pairwise the same (1 and 2, 3 and Paul> 4). It seems most logical for all four to be the same. My preference Paul> would be all four recursive, but flat/flat, recursive/recursive is a Paul> reasonable fallback especially if we add sample code for recursive Paul> walk of gdb.Type to the gdb Python library. I think making them all 'flat' is probably best. My reason is that with the proposed patch, I don't think there is a way to inspect a Type to discover that it has an anonymous field. But, this seems like a reasonable thing to want to do. That is, I think accurate introspection is more valuable than notational convenience. I would be in favor of helper functions in gdb.types, though. Tom