From patchwork Sat Apr 12 16:18:13 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Doug Evans X-Patchwork-Id: 522 Return-Path: X-Original-To: siddhesh@wilcox.dreamhost.com Delivered-To: siddhesh@wilcox.dreamhost.com Received: from homiemail-mx20.g.dreamhost.com (mx2.sub5.homie.mail.dreamhost.com [208.113.200.128]) by wilcox.dreamhost.com (Postfix) with ESMTP id 0AC8636005B for ; Sat, 12 Apr 2014 09:18:27 -0700 (PDT) Received: by homiemail-mx20.g.dreamhost.com (Postfix, from userid 14314964) id 9F28B40FE2E95; Sat, 12 Apr 2014 09:18:27 -0700 (PDT) X-Original-To: gdb@patchwork.siddhesh.in Delivered-To: x14314964@homiemail-mx20.g.dreamhost.com Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by homiemail-mx20.g.dreamhost.com (Postfix) with ESMTPS id 71D7840FF1429 for ; Sat, 12 Apr 2014 09:18:27 -0700 (PDT) DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:from:to:subject:references:date:in-reply-to :message-id:mime-version:content-type; q=dns; s=default; b=kCC/u CRbA734AkHdq5rjFi3bK1p0s5rDKxSFa5IzLLYLKHZAoyv2d09L+/WuQkq5kC0E/ dv/gnEinx7Z6cJzNMzZizgdu0EcDoznJQM5PNYf504wUXtpkrnAWIcEP9f408UEt peexO9wbRxBHRgfSkIpPF5Y49TK6NS//STlHXw= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:from:to:subject:references:date:in-reply-to :message-id:mime-version:content-type; s=default; bh=5J/3Dn4tCxX bMGbxeaV6iUsfq2U=; b=T9lBUwG0yU8Zk6uh5rdZ9/DH76cRZ34GXBC4NLbJUUm 1uchbW/r++f6go7buE+jkbll1QKAs6qtZGYY3jG0f+j6FbttY3tPoVzQLm5uFFHX pfhpR9S7Ajg4qA4yfFJZTrCfK/PmAm/m07CQJts6asUreIbvgUNB/T6Parzx71Ak = Received: (qmail 443 invoked by alias); 12 Apr 2014 16:18:24 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Delivered-To: mailing list gdb-patches@sourceware.org Received: (qmail 429 invoked by uid 89); 12 Apr 2014 16:18:23 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.8 required=5.0 tests=AWL, BAYES_00, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, RCVD_IN_DNSWL_LOW, SPF_PASS autolearn=ham version=3.3.2 X-HELO: mail-pa0-f49.google.com Received: from mail-pa0-f49.google.com (HELO mail-pa0-f49.google.com) (209.85.220.49) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-SHA encrypted) ESMTPS; Sat, 12 Apr 2014 16:18:21 +0000 Received: by mail-pa0-f49.google.com with SMTP id lj1so6516545pab.8 for ; Sat, 12 Apr 2014 09:18:19 -0700 (PDT) X-Received: by 10.68.204.162 with SMTP id kz2mr34470684pbc.13.1397319499883; Sat, 12 Apr 2014 09:18:19 -0700 (PDT) Received: from seba.sebabeach.org.gmail.com (173-13-178-53-sfba.hfc.comcastbusiness.net. [173.13.178.53]) by mx.google.com with ESMTPSA id oe4sm22869892pbb.33.2014.04.12.09.18.18 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 12 Apr 2014 09:18:19 -0700 (PDT) From: Doug Evans To: Siva Chandra , gdb-patches Subject: [commit] [Guile] Fix value-dynamic-type for reference values References: Date: Sat, 12 Apr 2014 09:18:13 -0700 In-Reply-To: (Siva Chandra's message of "Mon, 7 Apr 2014 14:24:46 -0700") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) MIME-Version: 1.0 X-IsSubscribed: yes X-DH-Original-To: gdb@patchwork.siddhesh.in Siva Chandra writes: > On Fri, Apr 4, 2014 at 12:12 PM, Doug Evans wrote: >>> ChangeLog: >>> 2014-04-02 Siva Chandra Reddy >>> >>> * python/py-value.c (valpy_get_dynamic_type): Use coerce_ref to >>> dereference TYPE_CODE_REF values. >>> >>> testsuite/ >>> * gdb.python/py-value.c: Improve test case. >>> * gdb.python/py-value.exp: Add new test. >> >> LGTM. > > Thank you. Pushed: 7af389b892404edc76e1a60c59b354b785378fa5 Thanks. Copied to Guile side thusly. 2014-04-12 Siva Chandra Reddy Doug Evans * guile/scm-value.c (gdbscm_value_dynamic_type): Use coerce_ref to dereference TYPE_CODE_REF values. testsuite/ * gdb.guile/scm-value.c: Improve test case. * gdb.guile/scm-value.exp: Add new test. diff --git a/gdb/guile/scm-value.c b/gdb/guile/scm-value.c index 8ca0762..2160a1e 100644 --- a/gdb/guile/scm-value.c +++ b/gdb/guile/scm-value.c @@ -585,7 +585,10 @@ gdbscm_value_dynamic_type (SCM self) struct value *target; int was_pointer = TYPE_CODE (type) == TYPE_CODE_PTR; - target = value_ind (value); + if (was_pointer) + target = value_ind (value); + else + target = coerce_ref (value); type = value_rtti_type (target, NULL, NULL, NULL); if (type) diff --git a/gdb/testsuite/gdb.guile/scm-value.c b/gdb/testsuite/gdb.guile/scm-value.c index 3c61911..e4f7530 100644 --- a/gdb/testsuite/gdb.guile/scm-value.c +++ b/gdb/testsuite/gdb.guile/scm-value.c @@ -49,6 +49,8 @@ struct Derived : public Base { }; Base *base = new Derived (); +Derived derived; +Base &base_ref = derived; void ptr_ref(int*& rptr_int) { diff --git a/gdb/testsuite/gdb.guile/scm-value.exp b/gdb/testsuite/gdb.guile/scm-value.exp index 0bcd381..2784da2 100644 --- a/gdb/testsuite/gdb.guile/scm-value.exp +++ b/gdb/testsuite/gdb.guile/scm-value.exp @@ -335,6 +335,8 @@ proc test_subscript_regression {exefile lang} { # Likewise. gdb_test "gu (print (value-dynamic-type (parse-and-eval \"base\")))" \ "= Derived \[*\]" + gdb_test "gu (print (value-dynamic-type (parse-and-eval \"base_ref\")))" \ + "= Derived \[&\]" # A static type case. gdb_test "gu (print (value-dynamic-type (parse-and-eval \"5\")))" \ "= int"