The `nonnull' attribute specifies that some function parameters
should be non-null pointers.
This is very useful as it helps the compiler generate warning on
suspicious code and can also enable some optimizations.
In clang this is also useful for the static analyzer.
The specific implementation was hinted by Android's bionic
libc. There are some function specific to FreeBSD that
miss similar treatment (contributions welcome).
Reference:
http://rachid.koucha.free.fr/tech_corner/nonnull_gcc_attribute.html