From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 26907 invoked by alias); 19 May 2010 22:10:01 -0000 Received: (qmail 26887 invoked by uid 22791); 19 May 2010 22:10:00 -0000 X-SWARE-Spam-Status: No, hits=-5.0 required=5.0 tests=AWL,BAYES_00,KAM_STOCKGEN,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; Wed, 19 May 2010 22:09:56 +0000 Received: from int-mx05.intmail.prod.int.phx2.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.18]) by mx1.redhat.com (8.13.8/8.13.8) with ESMTP id o4JM9QVf016923 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Wed, 19 May 2010 18:09:26 -0400 Received: from ns3.rdu.redhat.com (ns3.rdu.redhat.com [10.11.255.199]) by int-mx05.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id o4JM9O9Z008648; Wed, 19 May 2010 18:09:24 -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 o4JM9KpO009932; Wed, 19 May 2010 18:09:20 -0400 Received: by opsy.redhat.com (Postfix, from userid 500) id 426AB37818E; Wed, 19 May 2010 16:09:20 -0600 (MDT) From: Tom Tromey To: "Pierre Muller" Cc: "'Joel Brobecker'" , , "'FPC Core Developer List'" Subject: Re: [RFA] dwarf debug format: Support DW_AT_variable_parameter attribute References: <8830.7035308846$1273670829@news.gmane.org> <20100517172758.GJ2805@adacore.com> <000301caf5e7$222ac800$66805800$@muller@ics-cnrs.unistra.fr> <20100517174726.GK2805@adacore.com> <44296.7587885962$1274132782@news.gmane.org> <28559.2589797036$1274302480@news.gmane.org> Reply-To: tromey@redhat.com Date: Wed, 19 May 2010 22:34:00 -0000 In-Reply-To: <28559.2589797036$1274302480@news.gmane.org> (Pierre Muller's message of "Wed, 19 May 2010 22:53:46 +0200") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1 (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: 2010-05/txt/msg00400.txt.bz2 >>>>> "Pierre" == Pierre Muller writes: Pierre> That is what is done for now on Free Pascal, Pierre> i.e. the debug information generates a reference_type for Pierre> parameters passed by var. Pierre> It's not ideal yet, but this is just a matter of Pierre> twicks inside p-* files... I suppose it is less than ideal in that the type is exposed to the user. Another idea would be to augment the DWARF expression evaluator to do an additional indirection when this bit is set. Though then one must wonder why the compiler does not simply emit an expression to that effect. Pierre> I am unsure about the type allocation procedure, Pierre> could you just tell me if this looks OK Pierre> before I resubmit an RFA. Pierre> + struct type *ref_type; Pierre> + Pierre> + ref_type = TYPE_REFERENCE_TYPE (SYMBOL_TYPE (sym)); Pierre> + if (!ref_type) Pierre> + { Pierre> + ref_type = alloc_type (objfile); Pierre> + ref_type = make_reference_type (SYMBOL_TYPE (sym), Pierre> &ref_type); Pierre> + } Just use 'lookup_reference_type (SYMBOL_TYPE (sym))'. That will handle the details for you. Tom