[cfe-dev] ISO C3X proposal: nonnull qualifier

Alejandro Colomar (man-pages) via cfe-dev cfe-dev at lists.llvm.org
Thu Dec 2 12:31:42 PST 2021


On 12/2/21 21:24, Alejandro Colomar (man-pages) wrote:
> 
>      #define nonnull_assign(nn, p)                         \
>      ({                                                    \
>          auto p_  = p;                                 \
>          auto nn_ = nn;                                \
>                                                                \
>          if (p_ == NULL)                               \
>              *nn_ = const_cast(typeof(nn_), p_);  \

D'oh, this check should be the opposite, of course :)

>                                                                \
>          p_ == NULL;                                   \
>      })
> 

And I forgot to mention, that this macro intentionally leaves the 
nonnull pointer (nn) uninitialized in the case of a NULL input pointer 
(p), so that the compiler can then warn about an uninitialized variable 
if it's used uninitialized.


Cheers,
Alex

-- 
Alejandro Colomar
Linux man-pages comaintainer; http://www.kernel.org/doc/man-pages/


More information about the cfe-dev mailing list