Go to file
Eric Blake 99df5289d8 qapi: Track location that created an implicit type
A future patch will move some error checking from the parser
to the various QAPISchema*.check() methods, which run only
after parsing completes.  It will thus be possible to create
a python instance representing an implicit QAPI type that
parses fine but will fail validation during check().  Since
all errors have to have an associated 'info' location, we
need a location to be associated with those implicit types.
The intuitive info to use is the location of the enclosing
entity that caused the creation of the implicit type.

Note that we do not anticipate builtin types being used in
an error message (as they are not part of the user's QAPI
input, the user can't cause a semantic error in their
behavior), so we exempt those types from requiring info, by
setting a flag to track the completion of _def_predefineds(),
and tracking that flag in _def_entity().

No change to the generated code.

Signed-off-by: Eric Blake <eblake@redhat.com>
Message-Id: <1444710158-8723-13-git-send-email-eblake@redhat.com>
[Missing QAPISchemaArrayType.is_implicit() supplied]
Signed-off-by: Markus Armbruster <armbru@redhat.com>
2015-10-15 08:39:08 +02:00
audio ossaudio: fix memory leak 2015-07-08 13:11:01 +02:00
backends qemu-char: Use g_new() & friends where that makes obvious sense 2015-09-16 17:33:33 +02:00
block block: switch from g_slice allocator to malloc 2015-10-12 11:17:45 +01:00
bsd-user s/cpu_get_real_ticks/cpu_get_host_ticks/ 2015-10-08 19:46:01 +03:00
crypto crypto: introduce new module for handling TLS sessions 2015-09-15 15:07:43 +01:00
default-configs icc_bus: drop the unused files 2015-10-02 16:22:02 -03:00
disas disas/cris: Fix typo in comment 2015-10-01 17:24:02 -07:00
docs qapi: Consistent generated code: prefer visitor 'v' 2015-10-12 18:46:49 +02:00
dtc@65cc4d2748 dtc: Update dtc / libfdt submodule to version 1.4.0 2015-06-03 23:56:49 +02:00
fpu target-s390x: define default NaN values 2015-06-05 01:37:58 +02:00
fsdev maint: remove unused include for dirent.h 2015-09-11 10:21:38 +03:00
gdb-xml s390x/gdb: expose virtualization specific registers 2015-10-02 13:31:52 +02:00
hw Pull request 2015-10-12 15:52:54 +01:00
include Pull request 2015-10-12 15:52:54 +01:00
libdecnumber typofixes - v4 2015-09-11 10:45:43 +03:00
linux-headers vhost: rename VHOST_RESET_OWNER to VHOST_RESET_DEVICE 2015-09-24 16:27:52 +03:00
linux-user linux-user: Remove type casts to union type 2015-10-08 19:46:47 +03:00
migration migration: Disambiguate MAX_THROTTLE 2015-09-30 09:42:04 +02:00
net netfilter: add a netbuffer filter 2015-10-12 13:31:28 +08:00
pc-bios pc-bios/s390-ccw: avoid floating point operations 2015-10-02 13:31:52 +02:00
pixman@87eea99e44
po Update language files for QEMU 2.4.0 2015-09-11 10:21:38 +03:00
qapi qapi: add missing @ 2015-10-08 19:46:47 +03:00
qga typofixes - v4 2015-09-11 10:45:43 +03:00
qobject Include qapi/qmp/qerror.h exactly where needed 2015-06-22 18:20:41 +02:00
qom qapi: Consistent generated code: prefer visitor 'v' 2015-10-12 18:46:49 +02:00
roms pseries: Update SLOF firmware image to qemu-slof-20150813 2015-09-23 10:51:09 +10:00
scripts qapi: Track location that created an implicit type 2015-10-15 08:39:08 +02:00
slirp slirp: Fix non blocking connect for w32 2015-09-24 20:52:28 +02:00
stubs monitor: remove target-specific code from monitor.c 2015-09-16 17:33:32 +02:00
target-alpha qdev: Protect device-list-properties against broken devices 2015-10-09 15:25:57 +02:00
target-arm qdev: Protect device-list-properties against broken devices 2015-10-09 15:25:57 +02:00
target-cris qdev: Protect device-list-properties against broken devices 2015-10-09 15:25:57 +02:00
target-i386 qdev: Protect device-list-properties against broken devices 2015-10-09 15:25:57 +02:00
target-lm32 qdev: Protect device-list-properties against broken devices 2015-10-09 15:25:57 +02:00
target-m68k qdev: Protect device-list-properties against broken devices 2015-10-09 15:25:57 +02:00
target-microblaze qdev: Protect device-list-properties against broken devices 2015-10-09 15:25:57 +02:00
target-mips qdev: Protect device-list-properties against broken devices 2015-10-09 15:25:57 +02:00
target-moxie qdev: Protect device-list-properties against broken devices 2015-10-09 15:25:57 +02:00
target-openrisc qdev: Protect device-list-properties against broken devices 2015-10-09 15:25:57 +02:00
target-ppc qdev: Protect device-list-properties against broken devices 2015-10-09 15:25:57 +02:00
target-s390x qdev: Protect device-list-properties against broken devices 2015-10-09 15:25:57 +02:00
target-sh4 qdev: Protect device-list-properties against broken devices 2015-10-09 15:25:57 +02:00
target-sparc qdev: Protect device-list-properties against broken devices 2015-10-09 15:25:57 +02:00
target-tilegx qdev: Protect device-list-properties against broken devices 2015-10-09 15:25:57 +02:00
target-tricore qdev: Protect device-list-properties against broken devices 2015-10-09 15:25:57 +02:00
target-unicore32 qdev: Protect device-list-properties against broken devices 2015-10-09 15:25:57 +02:00
target-xtensa qdev: Protect device-list-properties against broken devices 2015-10-09 15:25:57 +02:00
tcg tcg: Check for overflow via highwater mark 2015-10-07 20:36:53 +11:00
tests qapi: Lazy creation of array types 2015-10-15 08:39:08 +02:00
trace
ui gtk/opengl: add opengl context and scanout support (GtkGLArea) 2015-10-08 10:34:53 +02:00
util oslib: allocate PROT_NONE pages on top of RAM 2015-10-01 16:16:52 +03:00
.dir-locals.el Add .dir-locals.el file to configure emacs coding style 2015-10-08 19:46:01 +03:00
.exrc
.gitignore libcacard: use the standalone project 2015-09-23 23:34:17 +02:00
.gitmodules
.mailmap
.travis.yml .travis.yml: Run make check for all targets, not just some 2015-10-08 19:46:47 +03:00
accel.c
aio-posix.c AioContext: optimize clearing the EventNotifier 2015-07-22 12:41:40 +01:00
aio-win32.c AioContext: optimize clearing the EventNotifier 2015-07-22 12:41:40 +01:00
arch_init.c smbios: move smbios code into a common folder 2015-08-13 14:08:30 +03:00
async.c AioContext: force event loop iteration using BH 2015-07-29 10:02:06 +01:00
balloon.c Include monitor/monitor.h exactly where needed 2015-06-22 18:20:41 +02:00
block.c block: disable I/O limits at the beginning of bdrv_close() 2015-10-02 13:48:29 +02:00
blockdev-nbd.c Include monitor/monitor.h exactly where needed 2015-06-22 18:20:41 +02:00
blockdev.c block: Drop drv parameter from bdrv_open() 2015-09-14 16:51:36 +02:00
blockjob.c blockjob: add block_job_release function 2015-07-07 14:27:14 +01:00
bootdevice.c
bt-host.c
bt-vhci.c
Changelog
CODING_STYLE CODING_STYLE: update mixed declaration rules 2015-09-09 15:34:54 +02:00
configure virtio-gpu: add 3d rendering support using virgl, misc fixes. 2015-10-09 17:30:03 +01:00
COPYING
COPYING.LIB
coroutine-gthread.c
coroutine-sigaltstack.c
coroutine-ucontext.c
coroutine-win32.c
cpu-exec-common.c cpu-exec: Migrate some generic fns to cpu-exec-common 2015-09-16 17:33:33 +02:00
cpu-exec.c i386: partial revert of interrupt poll fix 2015-09-25 12:04:44 +02:00
cpus.c s/cpu_get_real_ticks/cpu_get_host_ticks/ 2015-10-08 19:46:01 +03:00
cputlb.c cputlb: Change tlb_set_dirty() arg to cpu 2015-09-16 17:33:33 +02:00
device_tree.c device_tree: Fix a typo 2015-07-27 22:44:47 +03:00
device-hotplug.c
disas.c monitor: make monitor_fprintf and mon_get_cpu externally visible 2015-09-25 12:04:42 +02:00
dma-helpers.c
dump.c Include qapi/qmp/qerror.h exactly where needed 2015-06-22 18:20:41 +02:00
exec.c exec: allocate PROT_NONE pages on top of RAM 2015-10-01 16:16:52 +03:00
gdbstub.c * Support for jemalloc 2015-09-14 16:13:16 +01:00
HACKING
hmp-commands-info.hx hmp: added io apic dump state 2015-09-25 12:04:42 +02:00
hmp-commands.hx monitor: allow device_del to accept QOM paths 2015-09-22 11:31:56 +02:00
hmp.c qmp/hmp: Add throttle ratio to query-migrate and info migrate 2015-09-30 09:42:04 +02:00
hmp.h hmp: add info iothreads command 2015-09-04 13:26:26 +02:00
iohandler.c iohandler: Use aio API 2015-09-07 18:14:03 +02:00
ioport.c
iothread.c rcu: actually register threads that have RCU read-side critical sections 2015-07-24 13:57:45 +02:00
kvm-all.c intc/gic: Extract some reusable vGIC code 2015-09-24 01:29:36 +01:00
kvm-stub.c kvm: some fixes to kvm_resamplefds_allowed 2015-07-06 12:15:14 -06:00
LICENSE
main-loop.c iohandler: Use aio API 2015-09-07 18:14:03 +02:00
MAINTAINERS MAINTAINERS: Specify QAPI include and test files 2015-10-12 18:44:53 +02:00
Makefile Makefile: fix build when VPATH is outside GIT tree 2015-09-25 12:04:41 +02:00
Makefile.objs libcacard: use the standalone project 2015-09-23 23:34:17 +02:00
Makefile.target * Linux header update and cleanup 2015-09-16 18:06:54 +01:00
memory_mapping.c memory_mapping: Rework cpu related includes 2015-06-26 16:00:50 +02:00
memory.c memory: allow destroying a non-empty MemoryRegion 2015-10-09 15:25:56 +02:00
module-common.c
monitor.c monitor: make monitor_fprintf and mon_get_cpu externally visible 2015-09-25 12:04:42 +02:00
nbd.c nbd: release exp->blk after all clients are closed 2015-09-16 17:33:33 +02:00
numa.c Fix bad error handling after memory_region_init_ram() 2015-09-18 14:39:29 +02:00
os-posix.c
os-win32.c maint: remove unused include for signal.h 2015-09-11 10:21:38 +03:00
page_cache.c maint: remove unused include for strings.h 2015-09-11 10:21:38 +03:00
qapi-schema.json qapi: Lazy creation of array types 2015-10-15 08:39:08 +02:00
qdev-monitor.c -----BEGIN PGP SIGNATURE----- 2015-10-12 14:29:29 +01:00
qdict-test-data.txt
qemu-bridge-helper.c
qemu-char.c qemu-char: Use g_new() & friends where that makes obvious sense 2015-09-16 17:33:33 +02:00
qemu-coroutine-io.c
qemu-coroutine-lock.c coroutine: remove unnecessary parentheses in qemu_co_queue_empty 2015-04-30 16:05:49 +03:00
qemu-coroutine-sleep.c
qemu-coroutine.c
qemu-doc.texi monitor: added generation of documentation for hmp-commands-info.hx 2015-09-16 17:33:33 +02:00
qemu-ga.texi qga: start a man page 2015-09-01 13:16:26 -05:00
qemu-img-cmds.hx
qemu-img.c utils: rename strtosz to use qemu prefix 2015-09-25 12:04:41 +02:00
qemu-img.texi maint: remove / fix many doubled words 2015-09-11 10:21:38 +03:00
qemu-io-cmds.c utils: rename strtosz to use qemu prefix 2015-09-25 12:04:41 +02:00
qemu-io.c qemu-io: Remove duplicate 'open' error message 2015-09-14 16:51:36 +02:00
qemu-log.c
qemu-nbd.c qemu-nbd: convert to use the QAPI SocketAddress object 2015-09-25 12:04:40 +02:00
qemu-nbd.texi
qemu-options-wrapper.h
qemu-options.h
qemu-options.hx netfilter: add a netbuffer filter 2015-10-12 13:31:28 +08:00
qemu-seccomp.c
qemu-tech.texi doc: Refresh URLs in the qemu-tech documentation 2015-09-25 12:20:21 +02:00
qemu-timer.c qemu-timer: initialize "timers_done_ev" to set 2015-07-22 12:41:32 +01:00
qemu.nsi nsis: Add QEMU version information to Windows registry 2015-09-24 20:52:28 +02:00
qemu.sasl
qjson.c QJSON: Use OBJECT_CHECK 2015-05-11 08:59:07 -04:00
qmp-commands.hx monitor: allow device_del to accept QOM paths 2015-09-22 11:31:56 +02:00
qmp.c qdev: Protect device-list-properties against broken devices 2015-10-09 15:25:57 +02:00
qtest.c Init page sizes in qtest 2015-09-29 11:33:02 +05:30
README
rules.mak make: load only required dependency files. 2015-08-13 14:08:25 +03:00
softmmu_template.h softmmu: remove now unused functions 2015-09-11 08:16:05 -07:00
spice-qemu-char.c spice: fix spice_chr_add_watch() pre-condition 2015-05-29 09:56:01 +02:00
tcg-runtime.c
tci.c tcg: Rename debug_insn_start to insn_start 2015-10-07 20:36:26 +11:00
thread-pool.c
thunk.c linux-user: Allocate thunk size dynamically 2015-06-15 11:36:58 +03:00
tpm.c Include monitor/monitor.h exactly where needed 2015-06-22 18:20:41 +02:00
trace-events virtio-gpu: add 3d rendering support using virgl, misc fixes. 2015-10-09 17:30:03 +01:00
translate-all.c tcg: Check for overflow via highwater mark 2015-10-07 20:36:53 +11:00
translate-all.h translate-all: remove unnecessary argument to tb_invalidate_phys_range 2015-06-05 17:09:59 +02:00
translate-common.c translate: move real_host_page setting to -common 2015-09-16 17:33:33 +02:00
user-exec.c osdep.h: Remove qemu_printf 2015-08-19 16:29:53 +01:00
VERSION Open 2.5 development tree 2015-08-11 23:15:55 +01:00
version.rc
vl.c -----BEGIN PGP SIGNATURE----- 2015-10-12 14:29:29 +01:00
xen-common-stub.c
xen-common.c migration: Fix regression for xenfv and pc,accel=xen machine. 2015-08-03 16:13:40 +00:00
xen-hvm-stub.c pc: Remove redundant arguments from xen_hvm_init() 2015-09-10 11:05:40 +03:00
xen-hvm.c Fix bad error handling after memory_region_init_ram() 2015-09-18 14:39:29 +02:00
xen-mapcache.c maint: avoid useless "if (foo) free(foo)" pattern 2015-09-11 10:21:38 +03:00

Read the documentation in qemu-doc.html or on http://wiki.qemu-project.org

- QEMU team