From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 12353 invoked by alias); 25 Apr 2011 20:53:52 -0000 Received: (qmail 12341 invoked by uid 22791); 25 Apr 2011 20:53:51 -0000 X-SWARE-Spam-Status: No, hits=-6.9 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_HI,SPF_HELO_PASS,T_RP_MATCHES_RCVD 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; Mon, 25 Apr 2011 20:53:27 +0000 Received: from int-mx10.intmail.prod.int.phx2.redhat.com (int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id p3PKrRcF008602 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Mon, 25 Apr 2011 16:53:27 -0400 Received: from ns3.rdu.redhat.com (ns3.rdu.redhat.com [10.11.255.199]) by int-mx10.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id p3PKrQM4007620; Mon, 25 Apr 2011 16:53:26 -0400 Received: from opsy.redhat.com (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 p3PKrQbW006468; Mon, 25 Apr 2011 16:53:26 -0400 Received: by opsy.redhat.com (Postfix, from userid 500) id C2A853781C7; Mon, 25 Apr 2011 14:53:25 -0600 (MDT) From: Tom Tromey To: Keith Seitz Cc: gdb-patches@sourceware.org Subject: Re: [RFA] Typedef'd method parameters [0/4] References: <4DB09E6C.8000202@redhat.com> Date: Mon, 25 Apr 2011 20:53:00 -0000 In-Reply-To: <4DB09E6C.8000202@redhat.com> (Keith Seitz's message of "Thu, 21 Apr 2011 14:15:24 -0700") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii 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-04/txt/msg00462.txt.bz2 >>>>> "Keith" == Keith Seitz writes: Keith> I've attempted to split this up into four different patches to help Keith> facilitate review, but to be honest, I'm not sure how helpful this Keith> split is going to be, but I'll leave it to maintainers to ask for Keith> whatever would help them digest this easiest. I think this split was pretty good. I didn't try to read the combined patch, so I can't actually say whether it helped :-) Keith> The inability to use typedef'd parameter types arises from the Keith> fact that we do fairly literal lookups in the symbol table from Keith> decode_line_1 et al. I have often thought that maybe this is something we would want to fix. Instead of storing `namesp::klass::method(int)' in the symbol table, maybe we could just have an entry for "namesp", which would itself contain a symbol table for the namespace, and so on, down to an entry for "method" that would contain all the method overloads. This would be a big change, though. And I do have to wonder what concrete benefits would arise from it, aside from "work the way everybody expects". Maybe it would let us make the DWARF reader lazier. Keith> A note on the test suite: I propose to get these all approved and Keith> commit in one go. If done this way, no test suite regressions should Keith> occur. Or at least they don't show up here. :-) I would not mind if the cp-name-parser.y patch were committed separately. I see it as a separate cleanup. But, it is not very important, and if you have a single patch ready, then don't bother. Keith> Just a side note for maintainers, since I know this is going to Keith> come up: I have tried my best to consolidate name Keith> canonicalization, but there are a bunch of problems that arise Keith> from attempting to do this. I believe the solution proposed here Keith> is the most consistent from an API perspective -- everything Keith> still acts the way it should (and has). The alternative is to Keith> canonicalize_no_typedefs before anyone calls lookup_symbol or Keith> lookup_symbol_in_language. I rejected this approach. I think the approach you took is fine, but I am curious to know why you rejected the other. Tom