unicorn/qemu
Eric Blake b19cd2bd9a
qapi: Better error messages for duplicated expressions
The previous commit demonstrated that the generator overlooked
duplicate expressions:
- a complex type or command reusing a built-in type name
- redeclaration of a type name, whether by the same or different
metatype
- redeclaration of a command or event
- collision of a type with implicit 'Kind' enum for a union
- collision with an implicit MAX enum constant

Since the c_type() function in the generator treats all names
as being in the same namespace, this patch adds a global array
to track all known names and their source, to prevent collisions
before it can cause further problems. While valid .json files
won't trigger any of these cases, we might as well be nicer to
developers that make a typo while trying to add new QAPI code.

Backports commit 4dc2e6906e1084fdd37bf67385c5dcd2c72ae22b from qemu
2018-02-19 13:56:05 -05:00
..
crypto crypto: Clean up includes 2018-02-19 00:47:40 -05:00
default-configs
docs
fpu all: Clean up includes 2018-02-19 01:34:28 -05:00
hw x86: Clean up includes 2018-02-19 01:00:09 -05:00
include qapi: Drop unused error argument for list and implicit struct 2018-02-19 12:59:54 -05:00
qapi qapi: Drop unused error argument for list and implicit struct 2018-02-19 12:59:54 -05:00
qobject qobject: Clean up includes 2018-02-19 01:30:42 -05:00
qom qom: Clean up includes 2018-02-19 01:31:35 -05:00
scripts qapi: Better error messages for duplicated expressions 2018-02-19 13:56:05 -05:00
target-arm tcg: Remove lingering references to gen_opc_buf 2018-02-19 01:42:55 -05:00
target-i386 tcg: Remove lingering references to gen_opc_buf 2018-02-19 01:42:55 -05:00
target-m68k m68k: Clean up includes 2018-02-19 01:06:05 -05:00
target-mips mips: Clean up includes 2018-02-19 00:45:08 -05:00
target-sparc sparc: Clean up includes 2018-02-19 00:52:41 -05:00
tcg tcg: Introduce temp_load 2018-02-19 11:44:01 -05:00
util util: Clean up includes 2018-02-19 01:27:55 -05:00
aarch64.h target-arm: Implement cpu_get_phys_page_attrs_debug 2018-02-18 22:15:50 -05:00
aarch64eb.h target-arm: Implement cpu_get_phys_page_attrs_debug 2018-02-18 22:15:50 -05:00
accel.c all: Clean up includes 2018-02-19 01:34:28 -05:00
arm.h target-arm: Implement cpu_get_phys_page_attrs_debug 2018-02-18 22:15:50 -05:00
armeb.h target-arm: Implement cpu_get_phys_page_attrs_debug 2018-02-18 22:15:50 -05:00
CODING_STYLE
configure
COPYING
COPYING.LIB
cpu-exec-common.c exec: Clean up includes 2018-02-19 00:49:55 -05:00
cpu-exec.c exec: Clean up includes 2018-02-19 00:49:55 -05:00
cpus.c exec: Clean up includes 2018-02-19 00:49:55 -05:00
cputlb.c exec: Clean up includes 2018-02-19 00:49:55 -05:00
exec.c exec: Clean up includes 2018-02-19 00:49:55 -05:00
gen_all_header.sh
glib_compat.c
HACKING
header_gen.py target-arm: Implement cpu_get_phys_page_attrs_debug 2018-02-18 22:15:50 -05:00
ioport.c all: Clean up includes 2018-02-19 01:34:28 -05:00
LICENSE
m68k.h target-arm: Implement cpu_get_phys_page_attrs_debug 2018-02-18 22:15:50 -05:00
Makefile
Makefile.objs
Makefile.target
memory_mapping.c all: Clean up includes 2018-02-19 01:34:28 -05:00
memory.c memory: Silence unused variable warning 2018-02-18 17:52:03 -05:00
mips64.h target-arm: Implement cpu_get_phys_page_attrs_debug 2018-02-18 22:15:50 -05:00
mips64el.h target-arm: Implement cpu_get_phys_page_attrs_debug 2018-02-18 22:15:50 -05:00
mips.h target-arm: Implement cpu_get_phys_page_attrs_debug 2018-02-18 22:15:50 -05:00
mipsel.h target-arm: Implement cpu_get_phys_page_attrs_debug 2018-02-18 22:15:50 -05:00
powerpc.h target-arm: Implement cpu_get_phys_page_attrs_debug 2018-02-18 22:15:50 -05:00
qapi-schema.json
qemu-log.c all: Clean up includes 2018-02-19 01:34:28 -05:00
qemu-timer.c all: Clean up includes 2018-02-19 01:34:28 -05:00
rules.mak
softmmu_template.h exec.c: Pass MemTxAttrs to iotlb_to_region so it uses the right AS 2018-02-17 23:19:00 -05:00
sparc64.h target-arm: Implement cpu_get_phys_page_attrs_debug 2018-02-18 22:15:50 -05:00
sparc.h target-arm: Implement cpu_get_phys_page_attrs_debug 2018-02-18 22:15:50 -05:00
tcg-runtime.c all: Clean up includes 2018-02-19 01:34:28 -05:00
translate-all.c all: Clean up includes 2018-02-19 01:34:28 -05:00
translate-all.h
translate-common.c exec: Clean up includes 2018-02-19 00:49:55 -05:00
unicorn_common.h qom/cpu: Add MemoryRegion property 2018-02-18 21:54:50 -05:00
VERSION
vl.c vl.c: Remove periods and exclamation points from error messages 2018-02-17 15:24:14 -05:00
vl.h
x86_64.h target-arm: Implement cpu_get_phys_page_attrs_debug 2018-02-18 22:15:50 -05:00