From patchwork Mon Oct 2 12:02:02 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Wei Liu X-Patchwork-Id: 9980715 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 109F360384 for ; Mon, 2 Oct 2017 12:05:09 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 028D7286BF for ; Mon, 2 Oct 2017 12:05:09 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id EB5FA28965; Mon, 2 Oct 2017 12:05:08 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-4.2 required=2.0 tests=BAYES_00, RCVD_IN_DNSWL_MED autolearn=ham version=3.3.1 Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) (using TLSv1.2 with cipher AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 723CF288EE for ; Mon, 2 Oct 2017 12:05:06 +0000 (UTC) Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dyzQQ-0007ok-KO; Mon, 02 Oct 2017 12:02:18 +0000 Received: from mail6.bemta6.messagelabs.com ([193.109.254.103]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dyzQO-0007nq-M8 for xen-devel@lists.xenproject.org; Mon, 02 Oct 2017 12:02:16 +0000 Received: from [193.109.254.147] by server-5.bemta-6.messagelabs.com id 97/5E-03454-7CA22D95; Mon, 02 Oct 2017 12:02:15 +0000 X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFprNIsWRWlGSWpSXmKPExsXitHSDve5erUu RBg0LxC2+b5nM5MDocfjDFZYAxijWzLyk/IoE1oyTt9uYC7qFKs71fGJrYHzH28XIySEh4C/x 98BFFhCbRUBFounoMVYQm01AWeJnZy8biC0ioCGx8s1CoBouDmaBTkaJZUumAzkcHMIC7hJdb 3RBangFLCS2TvrKDmILCZRILF3dzwQRF5Q4OfMJ2HxmAR2JBbs/sYG0MgtISyz/xwES5hRwkJ h/Yi7YWlGgEzqXzmGBGKMg0TH9GNMERr5ZSCbNQjJpFsKkBYzMqxg1ilOLylKLdI0M9JKKMtM zSnITM3N0DQ3M9HJTi4sT01NzEpOK9ZLzczcxAgONAQh2MP5aFnCIUZKDSUmUV1/9UqQQX1J+ SmVGYnFGfFFpTmrxIUYZDg4lCd4fmkA5waLU9NSKtMwcYMjDpCU4eJREeJ9pAKV5iwsSc4sz0 yFSpxgVpcR5L4D0CYAkMkrz4NpgcXaJUVZKmJcR6BAhnoLUotzMElT5V4ziHIxKwryLQKbwZO aVwE1/BbSYCWjxnK4LIItLEhFSUg2MmtJvF95QC9PWOsV7X79rV8ppBv5QzSXb9r5jZ5hyLTa Zr9nl43sJlpPJRw2v5Wy9+MD3/T6Wiz3nUhPO7N938UUQz1bLls9G1+dwBBg/ss58GftyzWUx t3KLiXf2xJmHqnYfYZ2hE/uOYbv11Jp/M9ISDZS+/rczeDxhme/SHczTPhczHF34T4mlOCPRU Iu5qDgRAP7oG9+uAgAA X-Env-Sender: prvs=441e870a0=wei.liu2@citrix.com X-Msg-Ref: server-14.tower-27.messagelabs.com!1506945723!107086572!1 X-Originating-IP: [66.165.176.63] X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAzMDYwNDg=\n, received_headers: No Received headers X-StarScan-Received: X-StarScan-Version: 9.4.45; banners=-,-,- X-VirusChecked: Checked Received: (qmail 13484 invoked from network); 2 Oct 2017 12:02:05 -0000 Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63) by server-14.tower-27.messagelabs.com with RC4-SHA encrypted SMTP; 2 Oct 2017 12:02:05 -0000 X-IronPort-AV: E=Sophos;i="5.42,469,1500940800"; d="scan'208";a="450119842" Date: Mon, 2 Oct 2017 13:02:02 +0100 From: Wei Liu To: Oleksandr Grytsov Message-ID: <20171002120202.su2p6om5kodlvrj4@citrix.com> References: <1506692963-1762-1-git-send-email-al1img@gmail.com> <1506692963-1762-2-git-send-email-al1img@gmail.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <1506692963-1762-2-git-send-email-al1img@gmail.com> User-Agent: NeoMutt/20170113 (1.7.2) Cc: xen-devel@lists.xenproject.org, wei.liu2@citrix.com, ian.jackson@eu.citrix.com, Oleksandr Grytsov Subject: Re: [Xen-devel] [PATCH] libxl: fix generating array of enums in getypes.py X-BeenThere: xen-devel@lists.xen.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" X-Virus-Scanned: ClamAV using ClamSMTP On Fri, Sep 29, 2017 at 04:49:23PM +0300, Oleksandr Grytsov wrote: > From: Oleksandr Grytsov > > Enum always uses "x" value as input argument. In > case of enum array "t" argument should be passed. > > Signed-off-by: Oleksandr Grytsov Checking parent doesn't seem to be necessary. We already have "w" which is passed by the higher level. Can you try the following patch? From c451e88dc64febbbea835563eb3347cbc24874ce Mon Sep 17 00:00:00 2001 From: Wei Liu Date: Mon, 2 Oct 2017 12:48:28 +0100 Subject: [PATCH] libxl/gentypes: fix generating array of enums There is no reason to hardcode "x" in code. Use "w" which is passed by the higher level. This change requires us to allow "x" to be unused so that the top-level enum parse_json functions continue to compile. Signed-off-by: Wei Liu Acked-by: Ian Jackson --- tools/libxl/gentypes.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tools/libxl/gentypes.py b/tools/libxl/gentypes.py index 76aca76aaa..88e5c5f30e 100644 --- a/tools/libxl/gentypes.py +++ b/tools/libxl/gentypes.py @@ -432,7 +432,7 @@ def libxl_C_type_parse_json(ty, w, v, indent = " ", parent = None, discrimina s = "" if parent is None: s += "int rc = 0;\n" - s += "const libxl__json_object *x = o;\n" + s += "const libxl__json_object *x __attribute__((__unused__)) = o;\n" if isinstance(ty, idl.Array): if parent is None: @@ -467,11 +467,11 @@ def libxl_C_type_parse_json(ty, w, v, indent = " ", parent = None, discrimina raise Exception("Only KeyedUnion can have discriminator") s += "{\n" s += " const char *enum_str;\n" - s += " if (!libxl__json_object_is_string(x)) {\n" + s += " if (!libxl__json_object_is_string(%s)) {\n" % w s += " rc = -1;\n" s += " goto out;\n" s += " }\n" - s += " enum_str = libxl__json_object_get_string(x);\n" + s += " enum_str = libxl__json_object_get_string(%s);\n" % w s += " rc = %s_from_string(enum_str, %s);\n" % (ty.typename, ty.pass_arg(v, parent is None, idl.PASS_BY_REFERENCE)) s += " if (rc)\n" s += " goto out;\n"