From 00df19b3b0d497e0a4670308f971ca95383b20cd Mon Sep 17 00:00:00 2001 From: Eric Blake Date: Wed, 22 Jul 2015 13:59:20 -0600 Subject: [PATCH 1/4] qapi-types: sort and consolidate builtins Just as sorting generated code based on user-defined structs will help analysis of later patches, we also want to sort builtin types rather than letting python randomly dump a hash table. We also want to consolidate the two conditional areas of the generated .h file into one. --- scripts/qapi-types.py | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/scripts/qapi-types.py b/scripts/qapi-types.py index a48ad9c..b7028f6 100644 --- a/scripts/qapi-types.py +++ b/scripts/qapi-types.py @@ -327,11 +327,6 @@ fdecl.write(mcgen(''' exprs = QAPISchema(input_file).get_exprs() -fdecl.write(guardstart("QAPI_TYPES_BUILTIN_STRUCT_DECL")) -for typename in builtin_types.keys(): - fdecl.write(generate_fwd_builtin(typename)) -fdecl.write(guardend("QAPI_TYPES_BUILTIN_STRUCT_DECL")) - for expr in exprs: ret = "" if expr.has_key('struct'): @@ -359,16 +354,17 @@ for expr in exprs: # to avoid header dependency hell, we always generate declarations # for built-in types in our header files and simply guard them -fdecl.write(guardstart("QAPI_TYPES_BUILTIN_CLEANUP_DECL")) -for typename in builtin_types.keys(): +fdecl.write(guardstart("QAPI_TYPES_BUILTIN")) +for typename in sorted(builtin_types.keys()): + fdecl.write(generate_fwd_builtin(typename)) fdecl.write(generate_type_cleanup_decl(typename + "List")) -fdecl.write(guardend("QAPI_TYPES_BUILTIN_CLEANUP_DECL")) +fdecl.write(guardend("QAPI_TYPES_BUILTIN")) # ...this doesn't work for cases where we link in multiple objects that # have the functions defined, so we use -b option to provide control # over these cases if do_builtins: - for typename in builtin_types.keys(): + for typename in sorted(builtin_types.keys()): fdef.write(generate_type_cleanup(typename + "List")) for expr in exprs: -- 2.4.3