qapi-visit: Kill unused visit_end_union()
authorEric Blake <eblake@redhat.com>
Fri, 29 Jan 2016 13:48:48 +0000 (06:48 -0700)
committerMarkus Armbruster <armbru@redhat.com>
Mon, 8 Feb 2016 16:29:55 +0000 (17:29 +0100)
commit7c91aabd8964cfdf637f302c579c95401f21ce92
tree7f38a8fe67ef887bd1ac6c6d61330737c4fd0389
parent92b09babc11b60458c28cfe37eaa314de50e6241
qapi-visit: Kill unused visit_end_union()

The generated code can call visit_end_union() without having called
visit_start_union().  Example:

        if (!*obj) {
            goto out_obj;
        }
        visit_type_CpuInfoBase_fields(v, (CpuInfoBase **)obj, &err);
        if (err) {
            goto out_obj; // if we go from here...
        }
        if (!visit_start_union(v, !!(*obj)->u.data, &err) || err) {
            goto out_obj;
        }
        switch ((*obj)->arch) {
    [...]
        }
    out_obj:
        // ... then *obj is true, and ...
        error_propagate(errp, err);
        err = NULL;
        if (*obj) {
            // we end up here
            visit_end_union(v, !!(*obj)->u.data, &err);
        }
        error_propagate(errp, err);

Harmless only because no visitor implements end_union().  Clean it up
anyway, by deleting the function as useless.

Messed up since we have visit_end_union (commit cee2ded).

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <1453902888-20457-3-git-send-email-armbru@redhat.com>
[expand scope of patch to delete rather than repair]
Signed-off-by: Eric Blake <eblake@redhat.com>
Message-Id: <1454075341-13658-13-git-send-email-eblake@redhat.com>
include/qapi/visitor-impl.h
include/qapi/visitor.h
qapi/qapi-visit-core.c
scripts/qapi-visit.py