[Spice-devel] [PATCH spice-common 2/7] codegen: Add a test for attribute combination

Frediano Ziglio fziglio at redhat.com
Mon Feb 18 16:01:24 UTC 2019


Does not make sense to specify the same field to have 2
different C implementation at the same time.

Signed-off-by: Frediano Ziglio <fziglio at redhat.com>
---
 python_modules/ptypes.py | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/python_modules/ptypes.py b/python_modules/ptypes.py
index 3875970..e5fb1e9 100644
--- a/python_modules/ptypes.py
+++ b/python_modules/ptypes.py
@@ -96,6 +96,13 @@ def fix_attributes(attribute_list):
         elif len(lst) > 1:
             raise Exception("Attribute %s has more than 1 argument" % name)
         attrs[name] = lst
+
+    # these attributes specify output format, only one can be set
+    output_attrs = set(['end', 'to_ptr', 'as_ptr', 'ptr_array', 'zero'])
+    output_attrs = [a for a in attrs.keys() if a in output_attrs]
+    if len(output_attrs) > 1:
+        raise Exception("Multiple output type attributes specified %s" % output_attrs)
+
     return attrs
 
 class Type:
-- 
2.20.1



More information about the Spice-devel mailing list