Il 06/06/2012 18:14, Michael Roth ha scritto: > uint64_t's > within the valid range for visit_type_uint64() will fail due to being > interpreted as < 0 when cast to int64_t. With the others we can detect > these cases since the max unsigned value doesn't exceed the max signed > value of the intermediate type we're storing to.
Right, let's leave out the change for uint64, which works for visitors that transparently convert -2^64..-1 to 2^63..2^64-1 or the other way round. String and QemuOpts visitors can still add the method, do proper range checking and report the error themselves. Also, Laszlo, your new visit_type_size should fall back to uint64 rather than int. Paolo