[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v2 34/54] qapi: add #if conditions to generated stru
From: |
Marc-André Lureau |
Subject: |
[Qemu-devel] [PATCH v2 34/54] qapi: add #if conditions to generated struct members |
Date: |
Tue, 22 Aug 2017 15:22:35 +0200 |
Signed-off-by: Marc-André Lureau <address@hidden>
---
scripts/qapi-introspect.py | 2 ++
scripts/qapi-types.py | 2 ++
scripts/qapi-visit.py | 2 ++
3 files changed, 6 insertions(+)
diff --git a/scripts/qapi-introspect.py b/scripts/qapi-introspect.py
index 5e736a06df..b379c7c170 100644
--- a/scripts/qapi-introspect.py
+++ b/scripts/qapi-introspect.py
@@ -136,6 +136,8 @@ const QLitObject %(c_name)s = %(c_string)s;
ret = {'name': member.name, 'type': self._use_type(member.type)}
if member.optional:
ret['default'] = None
+ if member.ifcond:
+ ret = (ret, member.ifcond)
return ret
def _gen_variants(self, tag_name, variants):
diff --git a/scripts/qapi-types.py b/scripts/qapi-types.py
index c1316312ac..b7f4773fe1 100644
--- a/scripts/qapi-types.py
+++ b/scripts/qapi-types.py
@@ -41,6 +41,7 @@ struct %(c_name)s {
def gen_struct_members(members):
ret = ''
for memb in members:
+ ret += gen_if(memb.ifcond)
if memb.optional:
ret += mcgen('''
bool has_%(c_name)s;
@@ -50,6 +51,7 @@ def gen_struct_members(members):
%(c_type)s %(c_name)s;
''',
c_type=memb.type.c_type(), c_name=c_name(memb.name))
+ ret += gen_endif(memb.ifcond)
return ret
diff --git a/scripts/qapi-visit.py b/scripts/qapi-visit.py
index bb18c9edee..25914f71b0 100644
--- a/scripts/qapi-visit.py
+++ b/scripts/qapi-visit.py
@@ -53,6 +53,7 @@ void visit_type_%(c_name)s_members(Visitor *v, %(c_name)s
*obj, Error **errp)
c_type=base.c_name())
for memb in members:
+ ret += gen_if(memb.ifcond)
if memb.optional:
ret += mcgen('''
if (visit_optional(v, "%(name)s", &obj->has_%(c_name)s)) {
@@ -72,6 +73,7 @@ void visit_type_%(c_name)s_members(Visitor *v, %(c_name)s
*obj, Error **errp)
ret += mcgen('''
}
''')
+ ret += gen_endif(memb.ifcond)
if variants:
ret += mcgen('''
--
2.14.1.146.gd35faa819
- Re: [Qemu-devel] [PATCH v2 01/54] qapi: fix type_seen key error, (continued)
[Qemu-devel] [PATCH v2 07/54] tpm: simplify driver registration & lookup, Marc-André Lureau, 2017/08/22
[Qemu-devel] [PATCH v2 26/54] qapi-types: refactor variants handling, Marc-André Lureau, 2017/08/22
[Qemu-devel] [PATCH v2 15/54] qapi: add 'if' to top-level expressions, Marc-André Lureau, 2017/08/22
[Qemu-devel] [PATCH v2 36/54] qapi: add #if conditions to generated variants, Marc-André Lureau, 2017/08/22
[Qemu-devel] [PATCH v2 28/54] qapi: do not define enumeration value explicitely, Marc-André Lureau, 2017/08/22
[Qemu-devel] [PATCH v2 34/54] qapi: add #if conditions to generated struct members,
Marc-André Lureau <=
[Qemu-devel] [PATCH v2 20/54] qapi-introspect: modify to_qlit() to take an optional suffix, Marc-André Lureau, 2017/08/22
[Qemu-devel] [PATCH v2 18/54] qapi: add 'ifcond' to visitor methods, Marc-André Lureau, 2017/08/22
[Qemu-devel] [PATCH v2 39/54] qapi: add #if conditions to generated alternate variants, Marc-André Lureau, 2017/08/22
[Qemu-devel] [PATCH v2 10/54] block: use qemu_enum_parse() in blkdebug_debug_breakpoint, Marc-André Lureau, 2017/08/22
[Qemu-devel] [PATCH v2 24/54] qapi-event: add #if conditions to events, Marc-André Lureau, 2017/08/22
[Qemu-devel] [PATCH v2 14/54] qapi2texi: minor python code simplification, Marc-André Lureau, 2017/08/22
[Qemu-devel] [PATCH v2 03/54] qobject: add literal qobject type, Marc-André Lureau, 2017/08/22