From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 23747 invoked by alias); 1 Apr 2016 12:15:55 -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 23031 invoked by uid 89); 1 Apr 2016 12:15:54 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.6 required=5.0 tests=BAYES_00,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=ham version=3.3.2 spammy=TWO, Hx-languages-length:2488, H*R:D*acm.org, 2 X-HELO: mail-ig0-f193.google.com Received: from mail-ig0-f193.google.com (HELO mail-ig0-f193.google.com) (209.85.213.193) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-GCM-SHA256 encrypted) ESMTPS; Fri, 01 Apr 2016 12:15:44 +0000 Received: by mail-ig0-f193.google.com with SMTP id mh10so2149780igb.1 for ; Fri, 01 Apr 2016 05:15:44 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:reply-to:sender:in-reply-to :references:date:message-id:subject:from:to:cc; bh=SMvHv4vRMrM8yLDUOxwGWPa42HWtp+9cF3m99i1XkxM=; b=JFLCrc0K/149Bg387jiWG2mUeJzAd009qilstVDkgnLftyFco+hdhZvc/3xzhOXnXH cINP5dlaTU5M0z76gniwNbG0Gy5pXNRDao29u1vvPOHV80B/4YBuH5qe5GwUXmLBqD0d cl+k+SONA7qE1Mf0RSa1lnuAhBiElZoYQjtcy0wu+TjsuMT56OAkbQW9xyRo36OVePU3 wwd4BmIXWdvRojhjwDbYhJBYFJAQi2WTTzrZjRvkbVUWdBwttMqtxtt0gHeVFiHzmnp6 MmBfd+GvD+knGRrEr80A8LG02qFh91g62HB4lQ+agqt1zUbMU/+oL9YVPSnkjtcluHfP dCBQ== X-Gm-Message-State: AD7BkJJjPAv3/wXyr1Jekf70OxnYuXacASIlZnWdvQlQkbVb0LULd7SSXMENMITiI0Zx1iMeQFoQIBO5kZbSKA== MIME-Version: 1.0 X-Received: by 10.50.78.130 with SMTP id b2mr2760552igx.71.1459512942154; Fri, 01 Apr 2016 05:15:42 -0700 (PDT) Reply-To: artemiyv@acm.org Received: by 10.36.154.194 with HTTP; Fri, 1 Apr 2016 05:15:42 -0700 (PDT) In-Reply-To: <1458766976-14582-1-git-send-email-artemiyv@acm.org> References: <1458494257-30862-1-git-send-email-artemiyv@acm.org> <1458766976-14582-1-git-send-email-artemiyv@acm.org> Date: Fri, 01 Apr 2016 12:15:00 -0000 Message-ID: Subject: Re: [PATCH v2] [PR gdb/19820] gdb: allow enumeration constants as second operand of BINOP_REPEAT From: Artemiy Volkov To: "gdb-patches@sourceware.org ml" Cc: Yao Qi Content-Type: text/plain; charset=UTF-8 X-IsSubscribed: yes X-SW-Source: 2016-04/txt/msg00001.txt.bz2 On Thu, Mar 24, 2016 at 12:02 AM, Artemiy Volkov wrote: > This patch adds support for TYPE_CODE_ENUM values to be supplied > as right-hand side operand of the BINOP_REPEAT (@) operator. The > following should now work: > > enum { > sz = 17 > }; > > int > main () > { > int arr[sz + 1] = { 0 }; > return 0; /* line 9 here */ > } > > (gdb) b 9 > (gdb) r > (gdb) p arr@sz > $1 = {0 } > (gdb) > > A couple of tests is also included in this patch to demonstrate that it is > working as intended. > > gdb/Changelog: > > 2016-03-23 Artemiy Volkov > > PR gdb/19820 > * eval.c (evaluate_subexp_standard): Allow TYPE_CODE_ENUM to be > the type of BINOP_REPEAT's second operand. > > gdb/testsuite/Changelog: > > 2016-03-23 Artemiy Volkov > > PR gdb/19820 > * gdb.base/printcmds.exp: Add artificial arrays tests. > --- > > v1 -> v2: Add PR # information to the changelog entries. > > gdb/eval.c | 3 ++- > gdb/testsuite/gdb.base/printcmds.exp | 5 +++++ > 2 files changed, 7 insertions(+), 1 deletion(-) > > diff --git a/gdb/eval.c b/gdb/eval.c > index 78ad946..5d32a3c 100644 > --- a/gdb/eval.c > +++ b/gdb/eval.c > @@ -2427,7 +2427,8 @@ evaluate_subexp_standard (struct type *expect_type, > if (noside == EVAL_SKIP) > goto nosideret; > type = check_typedef (value_type (arg2)); > - if (TYPE_CODE (type) != TYPE_CODE_INT) > + if (TYPE_CODE (type) != TYPE_CODE_INT > + && TYPE_CODE (type) != TYPE_CODE_ENUM) > error (_("Non-integral right operand for \"@\" operator.")); > if (noside == EVAL_AVOID_SIDE_EFFECTS) > { > diff --git a/gdb/testsuite/gdb.base/printcmds.exp b/gdb/testsuite/gdb.base/printcmds.exp > index 3c78a53..d599a70 100644 > --- a/gdb/testsuite/gdb.base/printcmds.exp > +++ b/gdb/testsuite/gdb.base/printcmds.exp > @@ -643,6 +643,11 @@ proc test_artificial_arrays {} { > gdb_test_escape_braces "p int1dim\[0\]${ctrlv}@2${ctrlv}@3" \ > "({{0, 1}, {2, 3}, {4, 5}}|\[Cc\]annot.*)" \ > {p int1dim[0]@2@3} > + gdb_test_escape_braces "p int1dim\[0\]${ctrlv}@TWO" " = {0, 1}" \ > + {p int1dim[0]@TWO} > + gdb_test_escape_braces "p int1dim\[0\]${ctrlv}@TWO${ctrlv}@three" \ > + "({{0, 1}, {2, 3}, {4, 5}}|\[Cc\]annot.*)" \ > + {p int1dim[0]@TWO@three} > gdb_test_escape_braces {p/x (short [])0x12345678} \ > " = ({0x1234, 0x5678}|{0x5678, 0x1234})" > } > -- > 2.7.3 > Ping. Is v2 good enough to go in? Thanks, Artemiy