------- Comment #4 from pinskia at gcc dot gnu dot org 2008-06-10 09:07 ------- The GCC attribute is an extension. What it is about is saying if it is NULL then the program/function will crash and is not expecting a NULL argument. So if you mark a function argument as non NULL, then the optimizer can optimize it based on that fact. Even though the C standards committee is proposing something different, that will be handled differently from the GCC attribute extension anyways. So again there is no changed needed really to the GCC extension as it is defined as one that will crash if supplied with a NULL argument. Think printf with %s where it is supplied with a NULL argument or puts with a NULL argument.
-- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36166