From 7b14caf6044769483bb6fef9ee8dc71003f91494 Mon Sep 17 00:00:00 2001 From: Nicolas Hillegeer Date: Mon, 31 Mar 2014 19:09:54 +0200 Subject: [PATCH] alloc: xmalloc and xrealloc can't return null With this annotation/function attribute, we can inform gcc that these functions never return null, which can save a lot of redundant null checks. --- src/misc2.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/misc2.h b/src/misc2.h index 6f7c7a4768..265f93a430 100644 --- a/src/misc2.h +++ b/src/misc2.h @@ -29,9 +29,10 @@ char_u *alloc_clear(unsigned size) FUNC_ATTR_MALLOC FUNC_ATTR_ALLOC_SIZE(1); char_u *alloc_check(unsigned size) FUNC_ATTR_MALLOC FUNC_ATTR_ALLOC_SIZE(1); char_u *lalloc_clear(long_u size, int message) FUNC_ATTR_MALLOC FUNC_ATTR_ALLOC_SIZE(1); void try_to_free_memory(); -void *xmalloc(size_t size) FUNC_ATTR_MALLOC FUNC_ATTR_ALLOC_SIZE(1); +void *xmalloc(size_t size) + FUNC_ATTR_MALLOC FUNC_ATTR_ALLOC_SIZE(1) FUNC_ATTR_NONNULL_RET; void *xrealloc(void *ptr, size_t size) - FUNC_ATTR_WARN_UNUSED_RESULT FUNC_ATTR_ALLOC_SIZE(2); + FUNC_ATTR_WARN_UNUSED_RESULT FUNC_ATTR_ALLOC_SIZE(2) FUNC_ATTR_NONNULL_RET; char_u *lalloc(long_u size, int message) FUNC_ATTR_MALLOC FUNC_ATTR_ALLOC_SIZE(1); void do_outofmem_msg(long_u size); void free_all_mem(void);