From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:41265) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZWRQu-0002T0-08 for qemu-devel@nongnu.org; Mon, 31 Aug 2015 11:55:44 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZWRQo-0006DM-Oh for qemu-devel@nongnu.org; Mon, 31 Aug 2015 11:55:43 -0400 Received: from mx1.redhat.com ([209.132.183.28]:59686) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZWRQo-0006Ce-8Z for qemu-devel@nongnu.org; Mon, 31 Aug 2015 11:55:38 -0400 From: Markus Armbruster Date: Mon, 31 Aug 2015 17:55:29 +0200 Message-Id: <1441036533-26113-1-git-send-email-armbru@redhat.com> In-Reply-To: <1440780366-7177-1-git-send-email-armbru@redhat.com> References: <1440780366-7177-1-git-send-email-armbru@redhat.com> Subject: [Qemu-devel] [PATCH 27/31] qapi: Drop one of two "simple union must not have base" checks List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: mdroth@linux.vnet.ibm.com The first check ensures the second one can't trigger. Drop the first one, because the second one is in a more logical place, and emits a nicer error message. Signed-off-by: Markus Armbruster --- scripts/qapi.py | 8 -------- tests/qapi-schema/union-base-no-discriminator.err | 2 +- 2 files changed, 1 insertion(+), 9 deletions(-) diff --git a/scripts/qapi.py b/scripts/qapi.py index 23c32fe..197db77 100644 --- a/scripts/qapi.py +++ b/scripts/qapi.py @@ -526,14 +526,6 @@ def check_union(expr, expr_info): members = expr['data'] values = { 'MAX': '(automatic)' } - # If the object has a member 'base', its value must name a struct, - # and there must be a discriminator. - if base is not None: - if discriminator is None: - raise QAPIExprError(expr_info, - "Union '%s' requires a discriminator to go " - "along with base" %name) - # Two types of unions, determined by discriminator. # With no discriminator it is a simple union. diff --git a/tests/qapi-schema/union-base-no-discriminator.err b/tests/qapi-schema/union-base-no-discriminator.err index fc8b79c..8b7a242 100644 --- a/tests/qapi-schema/union-base-no-discriminator.err +++ b/tests/qapi-schema/union-base-no-discriminator.err @@ -1 +1 @@ -tests/qapi-schema/union-base-no-discriminator.json:11: Union 'TestUnion' requires a discriminator to go along with base +tests/qapi-schema/union-base-no-discriminator.json:11: Simple union 'TestUnion' must not have a base -- 2.4.3