Syntax error in malloc_np.h

Jason Evans jasone at freebsd.org
Mon May 21 18:21:12 UTC 2012


On May 21, 2012, at 8:57 AM, Hartmut Brandt wrote:
> it seems that there is a syntax error in malloc_np.h. It contains lines like:
> 
> int	allocm(void **ptr, size_t *rsize, size_t size, int flags)
>    __attribute__(nonnull(1));
> 
> The problem is that the syntax of the attributes actually requires two
> parenthesis:
> 
>    __attribute__((nonnull(1)));
> 
> Our gcc seems to swallow either of both, but gcc47 chokes on the missing
> '(' as does clang++.
> 
> Given that we have __nonnull(x) in cdefs.h I suppose the above is better
> replaced with __nonnull(1)?

__nonnull(1) looks like the best fix to me.  Let me know if you want me to make the fix, otherwise I'll leave it to you.

Thanks,
Jason


More information about the freebsd-current mailing list