From 255960dd374d4497d6ea537305f1b0d8a3433789 Mon Sep 17 00:00:00 2001 From: Eric Blake Date: Mon, 26 Oct 2015 16:34:43 -0600 Subject: qapi: Reserve '*List' type names for list types Type names ending in 'List' can clash with qapi list types in generated C. We don't currently use such names. It is easier to outlaw them now than to worry about how to resolve such a clash in the future. For precedence, see commit 4dc2e69, which did the same for names ending in 'Kind' versus implicit enum types for qapi unions. Update the testsuite to match. Signed-off-by: Eric Blake Message-Id: <1445898903-12082-5-git-send-email-eblake@redhat.com> Signed-off-by: Markus Armbruster --- tests/qapi-schema/reserved-type-list.err | 1 + tests/qapi-schema/reserved-type-list.exit | 2 +- tests/qapi-schema/reserved-type-list.json | 6 +++--- tests/qapi-schema/reserved-type-list.out | 3 --- 4 files changed, 5 insertions(+), 7 deletions(-) (limited to 'tests/qapi-schema') diff --git a/tests/qapi-schema/reserved-type-list.err b/tests/qapi-schema/reserved-type-list.err index e69de29..4510fa6 100644 --- a/tests/qapi-schema/reserved-type-list.err +++ b/tests/qapi-schema/reserved-type-list.err @@ -0,0 +1 @@ +tests/qapi-schema/reserved-type-list.json:5: struct 'FooList' should not end in 'List' diff --git a/tests/qapi-schema/reserved-type-list.exit b/tests/qapi-schema/reserved-type-list.exit index 573541a..d00491f 100644 --- a/tests/qapi-schema/reserved-type-list.exit +++ b/tests/qapi-schema/reserved-type-list.exit @@ -1 +1 @@ -0 +1 diff --git a/tests/qapi-schema/reserved-type-list.json b/tests/qapi-schema/reserved-type-list.json index 5b7d0f9..98d53bf 100644 --- a/tests/qapi-schema/reserved-type-list.json +++ b/tests/qapi-schema/reserved-type-list.json @@ -1,5 +1,5 @@ # Potential C name collision -# FIXME - This parses and compiles on its own, but prevents the user from -# creating a type named 'Foo' and using ['Foo'] for an array. We should -# reject the use of any type names ending in 'List'. +# We reserve names ending in 'List' for use by array types. +# TODO - we could choose array names to avoid collision with user types, +# in order to let this compile { 'struct': 'FooList', 'data': { 's': 'str' } } diff --git a/tests/qapi-schema/reserved-type-list.out b/tests/qapi-schema/reserved-type-list.out index 0406bfe..e69de29 100644 --- a/tests/qapi-schema/reserved-type-list.out +++ b/tests/qapi-schema/reserved-type-list.out @@ -1,3 +0,0 @@ -object :empty -object FooList - member s: str optional=False -- cgit v1.1