aboutsummaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorMarkus Armbruster <armbru@redhat.com>2019-09-27 15:46:38 +0200
committerMarkus Armbruster <armbru@redhat.com>2019-09-28 17:17:48 +0200
commit56d2df5e65d873ca0e9841f7bb7676cab759f8da (patch)
tree980b1f5956a2c412f7cd648b9012d303e5ab140e /scripts
parentf63326985a23cc1bb6327a003050e6fdb52eb9cd (diff)
qapi: Improve reporting of redefinition
Point to the previous definition, unless it's a built-in. Signed-off-by: Markus Armbruster <armbru@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com> Message-Id: <20190927134639.4284-26-armbru@redhat.com>
Diffstat (limited to 'scripts')
-rw-r--r--scripts/qapi/common.py5
1 files changed, 5 insertions, 0 deletions
diff --git a/scripts/qapi/common.py b/scripts/qapi/common.py
index bd834270f8..a74cd957d4 100644
--- a/scripts/qapi/common.py
+++ b/scripts/qapi/common.py
@@ -1759,6 +1759,11 @@ class QAPISchema(object):
# because they're liable to clash in generated C.
other_ent = self._entity_dict.get(ent.name)
if other_ent:
+ if other_ent.info:
+ where = QAPIError(other_ent.info, None, "previous definition")
+ raise QAPISemError(
+ ent.info,
+ "'%s' is already defined\n%s" % (ent.name, where))
raise QAPISemError(
ent.info, "%s is already defined" % other_ent.describe())
self._entity_dict[ent.name] = ent