On Tue, Nov 09, 2021 at 05:49:16PM +0000, Richard W.M. Jones wrote:
> In common/vector/vector.c use GCC/Clang built-in overflow operators.
> 
> The first patch is a neutral change which adds comments.  The second
> patch is the actual change.
> 
> Add a new header "checked-overflow.h" which has the purpose of
> isolating the use of the built-ins to one file (in case we need to add
> a new compiler later).  Then use this in generic_vector_reserve.
> 
> I tested this with GCC 11 and Clang 13.

That's the modern edge of the spectrum; will we be interfering with
compilation on older distros with older compilers?  I guess CI testing
can help find that out quickly.

> 
> I verified by disassembly that "jo" (jump overflow) / "jno" is used
> where it was not used previously, by both compilers.

Nice, and an argument in favor of doing this.

-- 
Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3266
Virtualization:  qemu.org | libvirt.org

_______________________________________________
Libguestfs mailing list
[email protected]
https://listman.redhat.com/mailman/listinfo/libguestfs

Reply via email to