From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 125883 invoked by alias); 8 Feb 2018 11:26:51 -0000 Mailing-List: contact gcc-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-owner@gcc.gnu.org Received: (qmail 125852 invoked by uid 89); 8 Feb 2018 11:26:50 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.9 required=5.0 tests=BAYES_00,SPF_PASS,T_RP_MATCHES_RCVD autolearn=ham version=3.3.2 spammy=H*MI:sk:Ks-cQw9, H*f:sk:77ac6b1, H*i:sk:77ac6b1, H*MI:sk:HdJE4DE X-HELO: mx2.suse.de Received: from mx2.suse.de (HELO mx2.suse.de) (195.135.220.15) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Thu, 08 Feb 2018 11:26:49 +0000 Received: from relay2.suse.de (charybdis-ext.suse.de [195.135.220.254]) by mx2.suse.de (Postfix) with ESMTP id 47B3FAC39; Thu, 8 Feb 2018 11:26:47 +0000 (UTC) Date: Thu, 08 Feb 2018 11:26:00 -0000 From: Michael Matz To: Simon Marchi cc: Jonathan Wakely , Daniel Berlin , Martin Sebor , Manfred , gdb@sourceware.org, GCC Subject: Re: gdb 8.x - g++ 7.x compatibility In-Reply-To: <77ac6b1d9e32784761e05424604f58d5@polymtl.ca> Message-ID: References: <1b58e2df-5425-4f22-510c-d2e9f51040ba@polymtl.ca> <39845077-6bdf-f60d-9bfc-a491e7fa4fc7@gmail.com> <132fbd97-4f0d-020f-1c0f-1d4097800233@polymtl.ca> <6da16f7c-4801-4c57-2197-271db491a88f@gmail.com> <6394368bca446f08119118a0f88a30b7@polymtl.ca> <0f519031e0a603b18788589d5c1700d3@polymtl.ca> <5a58deaaf993c5dc275386e5cd89cc37@polymtl.ca> <77ac6b1d9e32784761e05424604f58d5@polymtl.ca> User-Agent: Alpine 2.21 (LSU 202 2017-01-01) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII X-IsSubscribed: yes X-SW-Source: 2018-02/txt/msg00098.txt.bz2 Hi, On Wed, 7 Feb 2018, Simon Marchi wrote: > On 2018-02-07 12:30, Jonathan Wakely wrote: > >> Ah ok, the class name appears mangled in other entities' mangled name. But > >> from what I understand there's no mangled name for the class such that > >> > >> echo | c++filt > >> > >> outputs the class name (e.g. "Foo<10>"). That wouldn't make sense, since > >> there's no symbol for the class itself. > > > > echo _Z3FooILi10EE | c++filt > > Ok, thanks for the precision! As I said upthread, the mangled name of a type (sans _Z prefix) is what is stored as the type name for RTTI purposes (i.e. std::type_info::name()). It's just that the debug info currently doesn't have any reference to that definitely-unique string, only to the "human-friendly" name, which somewhat resembles the demangled name (and that's exactly the crux, it really isn't the demangled one right now, as you found out the painful way). Ciao, Michael.