qemu/scripts
Markus Armbruster 43d1455cf8 qapi: Fix code generation with Python 3.5
Recent commit 3e7fb5811b "qapi: Fix code generation for empty modules"
modules" switched QAPISchema.visit() from

    for entity in self._entity_list:

effectively to

    for mod in self._module_dict.values():
        for entity in mod._entity_list:

Visits in the same order as long as .values() is in insertion order.
That's the case only for Python 3.6 and later.  Before, it's in some
arbitrary order, which results in broken generated code.

Fix by making self._module_dict an OrderedDict rather than a dict.

Fixes: 3e7fb5811b
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Tested-by: Thomas Huth <thuth@redhat.com>
Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Tested-by: BALATON Zoltan <balaton@eik.bme.hu>
Tested-by: Alex Bennée <alex.bennee@linaro.org>
Message-id: 20200116202558.31473-1-armbru@redhat.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
2020-01-20 12:17:38 +00:00
..
coccinelle qemu-iotests: convert `pwd` and $(pwd) to $PWD 2018-11-19 10:08:19 -06:00
kvm vmxcap: correct the name of the variables 2019-10-04 18:49:19 +02:00
modules Include qemu-common.h exactly where needed 2019-06-12 13:20:20 +02:00
qapi qapi: Fix code generation with Python 3.5 2020-01-20 12:17:38 +00:00
qemu-guest-agent qemu-guest-agent: freeze-hook to ignore dpkg files as well 2018-08-23 18:46:25 +02:00
qemugdb scripts/qemugdb: re-license timers.py to GPLv2 or later 2019-03-12 08:04:22 +01:00
qmp qmp: make qmp-shell work with python3 2019-07-01 19:02:10 -03:00
tracetool trace: add mmu_index to mem_info 2019-10-28 15:12:38 +00:00
travis travis: add gcovr summary for GCOV build 2018-07-05 15:59:41 +01:00
analyse-9p-simpletrace.py python: futurize -f libfuturize.fixes.fix_print_with_import 2018-06-08 14:39:24 -03:00
analyse-locks-simpletrace.py scripts: Remove unused python imports 2019-01-17 17:52:40 -02:00
analyze-inclusions Move target-* CPU file into a target/ folder 2016-12-20 21:52:12 +01:00
analyze-migration.py analyze-migration.py: replace numpy with python 3.2 2019-12-16 10:59:50 -05:00
archive-source.sh archive-source: also create a stash for submodules 2019-07-23 15:53:25 +01:00
checkpatch.pl scripts/checkpatch.pl: don't complain about (foo, /* empty */) 2019-10-28 15:12:38 +00:00
clean-header-guards.pl scripts/clean-header-guards: Fix handling of trailing comments 2019-06-12 13:20:20 +02:00
clean-includes scripts/clean-includes: added duplicate #include check 2016-10-28 18:17:23 +03:00
cleanup-trace-events.pl scripts/cleanup-trace-events: Update for current practice 2019-03-22 16:18:07 +00:00
cocci-macro-file.h QEMU_PACKED: Remove gcc_struct attribute in Windows non x86 targets 2019-05-07 12:55:02 +01:00
coverity-model.c coverity-model: Fix replay_get_byte() 2018-07-05 15:09:52 +02:00
create_config create_config: remove $(CONFIG_SOFTMMU) hack 2019-07-15 20:58:37 +02:00
decodetree.py decodetree: Suppress redundant declaration warnings 2019-08-19 08:13:14 -07:00
device-crash-test python/qemu: split QEMUMachine out from underneath __init__.py 2019-07-01 19:02:10 -03:00
disas-objdump.pl scripts: Switch to more portable Perl shebang 2017-05-10 10:19:24 +03:00
dump-guest-memory.py global: Squash 'the the' 2019-11-06 17:19:40 +01:00
extract-vsssdk-headers Add a script to extract VSS SDK headers on POSIX system 2013-09-09 14:17:56 -05:00
feature_to_c.sh scripts: Use $(..) instead of deprecated `..` 2016-06-07 18:19:23 +03:00
fix-multiline-comments.sh scripts: add script to convert multiline comments into 4-line format 2019-01-11 15:46:55 +01:00
get_maintainer.pl scripts: Detect git worktrees for get_maintainer.pl --git 2019-11-19 10:00:36 +01:00
git-submodule.sh git-submodule.sh: Modern shell scripting (use $() instead of ``) 2018-10-16 18:34:19 +02:00
git.orderfile scripts/git.orderfile: Match QAPI schema more precisely 2019-09-24 14:07:22 +02:00
hxtool qemu-options: Remove stray colons from output of --help 2017-12-20 09:04:27 +01:00
kernel-doc docs: tweak kernel-doc for QEMU coding standards 2019-12-17 19:36:57 +01:00
make-release make-release: pull in edk2 submodules so we can build it from tarballs 2019-10-07 14:54:45 +02:00
minikconf.py minikconf: don't print CONFIG_FOO=n lines 2019-08-21 16:29:57 +02:00
qapi-gen.py qapi: Split up scripts/qapi/common.py 2019-10-22 13:53:55 +02:00
qemu-binfmt-conf.sh scripts/qemu-binfmt-conf: Update for sparc64 2019-11-06 13:28:27 +01:00
qemu-gdb.py qemugdb: fix licensing 2019-03-11 16:55:52 +01:00
qemu-trace-stap trace: update qemu-trace-stap to Python 3 2020-01-13 16:42:20 +00:00
qemu-trace-stap.texi trace: add ability to do simple printf logging via systemtap 2019-01-24 14:16:56 +00:00
refresh-pxe-roms.sh roms: rewrite scripts/refresh-pxe-roms.sh 2013-09-30 09:44:35 +02:00
render_block_graph.py python/qemu: split QEMUMachine out from underneath __init__.py 2019-07-01 19:02:10 -03:00
replay-dump.py scripts/replay-dump.py: fix utf-8 mangling 2019-01-17 17:52:40 -02:00
shaderinclude.pl scripts: Switch to more portable Perl shebang 2017-05-10 10:19:24 +03:00
show-fixed-bugs.sh show-fixed-bugs.sh: Modern shell scripting (use $() instead of ``) 2018-10-16 18:34:19 +02:00
signrom.py python: futurize -f libfuturize.fixes.fix_print_with_import 2018-06-08 14:39:24 -03:00
simpletrace.py scripts: Remove unused python imports 2019-01-17 17:52:40 -02:00
switch-timer-api scripts: Switch to more portable Perl shebang 2017-05-10 10:19:24 +03:00
tap-driver.pl tap: flush STDOUT on newline 2019-02-05 16:50:16 +01:00
tap-merge.pl tap: flush STDOUT on newline 2019-02-05 16:50:16 +01:00
texi2pod.pl maint: Allow for EXAMPLES in texi2pod 2019-01-21 15:49:51 -06:00
tracetool.py scripts: Remove unused python imports 2019-01-17 17:52:40 -02:00
update-linux-headers.sh update-linux-headers: handle new header file 2019-05-21 16:56:30 +02:00
vmstate-static-checker.py vmstate-static-checker: Fix for current python 2019-11-25 19:49:50 -03:00