From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 17554 invoked by alias); 26 Aug 2011 18:05:33 -0000 Received: (qmail 17546 invoked by uid 22791); 26 Aug 2011 18:05:32 -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; Fri, 26 Aug 2011 18:05:13 +0000 Received: from int-mx09.intmail.prod.int.phx2.redhat.com (int-mx09.intmail.prod.int.phx2.redhat.com [10.5.11.22]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id p7QI5CR7007082 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Fri, 26 Aug 2011 14:05:12 -0400 Received: from ns3.rdu.redhat.com (ns3.rdu.redhat.com [10.11.255.199]) by int-mx09.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id p7QI5Cxh027614; Fri, 26 Aug 2011 14:05:12 -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 p7QI5Akn015777; Fri, 26 Aug 2011 14:05:11 -0400 From: Tom Tromey To: Keith Seitz Cc: gdb-patches@sourceware.org Subject: Re: [RFC] 12266 Fallout References: <4E56D4A3.7000306@redhat.com> Date: Fri, 26 Aug 2011 18:05:00 -0000 In-Reply-To: <4E56D4A3.7000306@redhat.com> (Keith Seitz's message of "Thu, 25 Aug 2011 16:02:59 -0700") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (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-08/txt/msg00500.txt.bz2 Keith> I am writing for some maintainer guidance on an issue that has arisen. Keith> 1) Add DMGL_VERBOSE where it is needed so that NO typedefs ever appear Keith> in a (non-TYPE_CODE_TYPEDEF) symbol's name Keith> 2) Add a new version of check_typedef which "stops" at std::string Keith> (and std::ostream, std::istream, std::iostream), and add logic Keith> (somewhere) to deal with going from "std::basic_string<...>" back to Keith> "std::string" (and likewise for the others). Keith> Actually in this case, the "right" output would be "calltest(foo)", Keith> but that is a different, but related, problem, for which I developed a Keith> patch a long time ago, part of the first 12266 patch submissions Keith> (dwarf2_print_name). Let's call this option #3. Keith> - Shall I continue #1 and start submitting patches? Keith> - Shall I start teaching gdb about std::string et al and how to deal Keith> with them in the environment we have today? Keith> - Have I missed something that would be preferable to anything I've Keith> mentioned? I don't understand why check_typedef would necessarily be involved. If we changed the canonicalizer to respect this ABI rule about std:: names, then wouldn't std::string be the type's actual name? And so we wouldn't have to change check_typedef? In any case, isn't #3 the best approach? That is, separating the search key from the print name, and making the print name closer to what users expect. I think we should always be considering what end state we want to be in, and this seems to be it. If you are looking for a quick fix, but plan to do #3, then #1 is fine by me. Tom