qapi: Do not define enumeration value explicitly

The generated C enumeration types explicitly set the enumeration
constants to 0, 1, 2, ... That's exactly what you get when you don't
supply values.

Drop the explicit values. No change now, but it will avoid gaps in
the values when we later add support for 'if' conditions. Avoiding
such gaps will save us the trouble of changing the ENUM_lookup[]
tables to work without a sentinel.

We'll have to take care to ensure the headers required by the 'if'
conditions get always included before the generated QAPI code.
Fortunately, our convention to include "qemu/osdep.h" first in any .c
ensures that's the case for our CONFIG_FOO macros

Backports commit 9c2f56e9f9d5a1f9ddac77dda35f997738e85d11 from qemu
This commit is contained in:
Marc-André Lureau 2018-12-18 05:03:19 -05:00 committed by Lioncash
parent 5998dbcd67
commit 67596f7485
No known key found for this signature in database
GPG Key ID: 4E3C3CC1031BA9C7

View File

@ -2056,14 +2056,11 @@ typedef enum %(c_name)s {
''',
c_name=c_name(name))
i = 0
for value in enum_values:
ret += mcgen('''
%(c_enum)s = %(i)d,
%(c_enum)s,
''',
c_enum=c_enum_const(name, value, prefix),
i=i)
i += 1
c_enum=c_enum_const(name, value, prefix))
ret += mcgen('''
} %(c_name)s;