From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:56601) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Zz0OB-0004f5-Rb for qemu-devel@nongnu.org; Wed, 18 Nov 2015 05:55:00 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Zz0OA-0000nB-Vz for qemu-devel@nongnu.org; Wed, 18 Nov 2015 05:54:59 -0500 From: Juan Quintela In-Reply-To: <1447836791-369-23-git-send-email-eblake@redhat.com> (Eric Blake's message of "Wed, 18 Nov 2015 01:52:57 -0700") References: <1447836791-369-1-git-send-email-eblake@redhat.com> <1447836791-369-23-git-send-email-eblake@redhat.com> Date: Wed, 18 Nov 2015 11:54:37 +0100 Message-ID: <87fv03pogi.fsf@emacs.mitica> MIME-Version: 1.0 Content-Type: text/plain Subject: Re: [Qemu-devel] [PATCH v12 22/36] qapi: Don't let implicit enum MAX member collide Reply-To: quintela@redhat.com List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Eric Blake Cc: Kevin Wolf , Peter Maydell , Alberto Garcia , Michael Roth , "open list:blkdebug" , "Michael S. Tsirkin" , Jason Wang , qemu-devel@nongnu.org, Eduardo Habkost , armbru@redhat.com, Andreas =?utf-8?Q?F=C3=A4rber?= , Gerd Hoffmann , Stefan Hajnoczi , Paolo Bonzini , Amit Shah , "Denis V. Lunev" , Luiz Capitulino , Richard Henderson Eric Blake wrote: > Now that we guarantee the user doesn't have any enum values > beginning with a single underscore, we can use that for our > own purposes. Renaming ENUM_MAX to ENUM__MAX makes it obvious > that the sentinel is generated. > > This patch was mostly generated by applying a temporary patch: > > |diff --git a/scripts/qapi.py b/scripts/qapi.py > |index e6d014b..b862ec9 100644 > |--- a/scripts/qapi.py > |+++ b/scripts/qapi.py > |@@ -1570,6 +1570,7 @@ const char *const %(c_name)s_lookup[] = { > | max_index = c_enum_const(name, 'MAX', prefix) > | ret += mcgen(''' > | [%(max_index)s] = NULL, > |+// %(max_index)s > | }; > | ''', > | max_index=max_index) > > then running: > > $ cat qapi-{types,event}.c tests/test-qapi-types.c | > sed -n 's,^// \(.*\)MAX,s|\1MAX|\1_MAX|g,p' > list > $ git grep -l _MAX | xargs sed -i -f list > > The only things not generated are the changes in scripts/qapi.py. > > Signed-off-by: Eric Blake For migration bits, I have zero objections about the changes. I trust you that you have done all the required changes (i.e. I haven't compiled it). Rest of the patch is as trivial as the commit log explains, so Reviewed-by: Juan Quintela Thanks, Juan.