no-re...@patchew.org writes: > Hi, > > Your series failed automatic build test. Please find the testing commands and > their output below. If you have docker installed, you can probably reproduce > it > locally. > > Subject: [Qemu-devel] [PATCH v2 for-2.8 0/4] Fix MacOS runtime failure of > qobject_from_jsonf() > Type: series > Message-id: 1479922617-4400-1-git-send-email-ebl...@redhat.com [...] > /tmp/qemu-test/src/qobject/json-parser.c: In function 'parse_escape': > /tmp/qemu-test/src/qobject/json-parser.c:480:1: error: control reaches end of > non-void function [-Werror=return-type] > } > ^
This is due to PATCH RFC 4/4. In addition to dropping unused conversion specifiers, it silently converts a failure into an assertion: parse_escape() running into an invalid conversion specifer. Before, it fails without storing an error in ctxt->err. Its caller parse_value() also fails. Its callers then store an error on failure, with parse_error(). Except for json_parser_parse_err(). When json_parser_parse_err() can fail with or without setting an error. Awkward, but its callers cope with that. After, parse_escape() executes assert(false). Patchew's compiler appears to be too stupid to see that control cannot reach the end of the function then. This is surprising. I haven't checked whether more failures without error remain. If no, callers should be simplified. In any case, the change of how we handle invalid conversion specifiers should be its own patch. [...]