On 1/2/19 3:58 PM, Eric Blake wrote:
On 1/2/19 2:14 PM, Richard W.M. Jones wrote:
Annotate some function parameters with attribute((nonnull)). Only do this for internal headers where we are sure that we will be using sufficiently recent GCC or Clang. For the public header files (ie. include/nbdkit-*.h) it may be that people building out of tree plugins are using old GCC which had problems, or even other compilers that don't support this extension at all.
Libvirt has an interesting history with this attribute. In 2012 use of the attribute was disabled when compiling under GCC (but kept for Coverity) because of poor behaviour of GCC. This is still the case for libvirt upstream. However the bug in GCC does appear to have been fixed at the end of 2016.
https://libvirt.org/git/?p=libvirt.git;a=commitdiff;h=eefb881d4683d50882b43e... https://gcc.gnu.org/bugzilla/show_bug.cgi?id=17308 ---
+++ b/filters/cache/blk.h
This file is not on the current nbdkit.git master; I'm assuming the patch depends on some of your other patches landing first.
That, or I hadn't updated to the latest git master before starting my review ;) I see commit 07e43a84 added the file. -- Eric Blake, Principal Software Engineer Red Hat, Inc. +1-919-301-3226 Virtualization: qemu.org | libvirt.org