From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 15938 invoked by alias); 9 Jan 2014 21:54:25 -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 15924 invoked by uid 89); 9 Jan 2014 21:54:24 -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; Thu, 09 Jan 2014 21:54:23 +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 s09LsICI019929 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Thu, 9 Jan 2014 16:54:19 -0500 Received: from barimba (ovpn-113-85.phx2.redhat.com [10.3.113.85]) by int-mx09.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id s09LsGab020304 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NO); Thu, 9 Jan 2014 16:54:17 -0500 From: Tom Tromey To: Iain Buclaw Cc: gdb-patches@sourceware.org Subject: Re: [PATCH 5/5] Fix for D demangling in GDB References: Date: Thu, 09 Jan 2014 21:54:00 -0000 In-Reply-To: (Iain Buclaw's message of "Thu, 9 Jan 2014 13:12:55 +0000") Message-ID: <87zjn47ref.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/msg00261.txt.bz2 >>>>> "Iain" == Iain Buclaw writes: Iain> * d-lang.h (d_parse_symbol): Add declaration. Iain> * d-lang.c (extract_identifiers) Iain> (extract_type_info): Remove functions. Iain> (d_demangle): Use d_parse_symbol implemented in d-support.c to Iain> demangle D symbols. Iain> * d-support.c: New file. The usual approach in cases like this is to do a "pure move" patch to move the functions to another file, followed by a second patch to implement the fixes. It's also worth noting that with a bit more work you could push the D demangler into libiberty (see ada_demangle there) and then get demangling from "nm" and the other binutils. Iain> +proc catch_demangling_errors {command} { Iain> + if {[catch $command result]} { Iain> + puts "ERROR: demangle.exp: while running $command: $result" Iain> + } Iain> +} Iain> + # Using catch_demangling_errors this way ensures that, if one of Iain> + # the functions raises a Tcl error, then it'll get reported, and Iain> + # the rest of the functions will still run. Iain> + catch_demangling_errors test_d_demangling I don't think this stuff is needed. Usually we just let Tcl errors keep going, since ordinarily they represent bugs in the test case. Is there a particular failure you were seeing? Iain> + Iain> +} else { Iain> + warning "D demangling tests suppressed." I think "unsupported" instead of "warning" here. Tom