From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 8055 invoked by alias); 30 Apr 2010 16:59:03 -0000 Received: (qmail 8044 invoked by uid 22791); 30 Apr 2010 16:59:01 -0000 X-SWARE-Spam-Status: No, hits=-6.9 required=5.0 tests=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; Fri, 30 Apr 2010 16:58:51 +0000 Received: from int-mx08.intmail.prod.int.phx2.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.21]) by mx1.redhat.com (8.13.8/8.13.8) with ESMTP id o3UGwkL8032732 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Fri, 30 Apr 2010 12:58:47 -0400 Received: from ns3.rdu.redhat.com (ns3.rdu.redhat.com [10.11.255.199]) by int-mx08.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id o3UGwk0k016224; Fri, 30 Apr 2010 12:58:46 -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 o3UGwjht017959; Fri, 30 Apr 2010 12:58:45 -0400 Received: by opsy.redhat.com (Postfix, from userid 500) id C1B42378746; Fri, 30 Apr 2010 10:58:44 -0600 (MDT) From: Tom Tromey To: "Pierre Muller" Cc: Subject: Re: [RFC] examine for TYPE_CODE_REF in pascal language PR 11349 References: <17731.9300863475$1272644394@news.gmane.org> Reply-To: tromey@redhat.com Date: Fri, 30 Apr 2010 16:59:00 -0000 In-Reply-To: <17731.9300863475$1272644394@news.gmane.org> (Pierre Muller's message of "Fri, 30 Apr 2010 18:19:37 +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-04/txt/msg01000.txt.bz2 >>>>> "Pierre" == Pierre Muller writes: Pierre> -inside x_command, a TYPE_CODE_REF generates a call Pierre> to value_ind, but this generates possibly several dereferencing Pierre> if the target type is also a pointer. Pierre> I do not know what is the expectation for C language Pierre> here, and I don't even know how to generate code that Pierre> has variables of type TYPE_CODE_REF from C source. You need C++ to make a TYPE_CODE_REF. It corresponds to a C++ reference. Pierre> Should this change be extended to other languages Pierre> or to all languages? I think coerce_ref is the right thing to do here for C++. If an expression evaluates to a reference to a pointer, I would expect the reference to be ignored and the referred-to pointer to be used instead. However, the fact that the code is explicitly written to check TYPE_CODE_REF and use value_ind gives me pause. If you change it to unconditionally use coerce_ref, do any tests fail? Tom