3.10 __attribute__((nonnull)) function attribute

This function attribute specifies function parameters that are not supposed to be null pointers. This enables the compiler to generate a warning on encountering such a parameter.


__attribute__((nonnull[(arg-index, ...)]))
Where [(arg-index, ...)] denotes an optional argument index list.
If no argument index list is specified, all pointer arguments are marked as nonnull.


The argument index list is 1-based, rather than 0-based.


The following declarations are equivalent:
void * my_memcpy (void *dest, const void *src, size_t len) __attribute__((nonnull (1, 2)));
void * my_memcpy (void *dest, const void *src, size_t len) __attribute__((nonnull));
Non-ConfidentialPDF file icon PDF versionARM DUI0774E
Copyright © 2014-2016 ARM. All rights reserved.