On 04/19/2017 11:12 AM, Paolo Bonzini wrote:
>
>
> On 19/04/2017 17:48, Eric Blake wrote:
>>> bool block_job_user_paused(BlockJob *job)
>>> {
>> Is it worth using some form of attribute((nonnull)) annotations on
>> various functions, to both state our intentions and let compilers help
>> us catch obvious places where we are violating our intentions? That's
>> more of a generic question to all of qemu, and doesn't affect your
>> particular patch, other than your patch is an instance where the
>> annotation would be useful if we wanted to use them.
>
> What kind of bug would the compiler catch? I suppose Coverity would
> catch all of them, and maybe -flto would as well.Newer gcc is (finally) getting smarts about warning about passing a known-NULL value to a function parameter marked nonnull; I think Clang has been doing it for a while. Coverity definitely flags mismatches like that. Other bugs that can be caught include checking a parameter for NULL after it has already been declared to be non-null. And if nothing else, the documentation factor makes it easier for developers to remember contracts of various functions. -- Eric Blake, Principal Software Engineer Red Hat, Inc. +1-919-301-3266 Virtualization: qemu.org | libvirt.org
signature.asc
Description: OpenPGP digital signature
