------- Comment #1 from pinskia at gcc dot gnu dot org 2006-12-01 22:01 -------
nonnull attribute to the function says the function's argument is non null at
the time we enter the function so assuming that is correct.
Also this is documented this way:
nonnull (arg-index, ...)
The nonnull attribute specifies that some function parameters should be
non-null pointers. For instance, the declaration:
extern void *
my_memcpy (void *dest, const void *src, size_t len)
__attribute__((nonnull (1, 2)));
causes the compiler to check that, in calls to my_memcpy, arguments dest
and src are non-null. If the compiler determines that a null pointer is passed
in an argument slot marked as non-null, and the -Wnonnull option is enabled, a
warning is issued. The compiler may also choose to make optimizations based on
the knowledge that certain function arguments will not be null.
Witeness the last sentence.
--
pinskia at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |RESOLVED
Resolution| |INVALID
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30043