build: don't define FUNC_ATTR_* as empty in headers (#26317)

FUNC_ATTR_* should only be used in .c files with generated headers.
Defining FUNC_ATTR_* as empty in headers causes misuses of them to be
silently ignored. Instead don't define them by default, and only define
them as empty after a .c file has included its generated header.
This commit is contained in:
zeertzjq
2023-11-30 15:51:05 +08:00
committed by GitHub
parent 85be914879
commit 543e0256c1
136 changed files with 142 additions and 186 deletions

View File

@@ -160,10 +160,12 @@
(v).size = 0, \
(v).items = (v).init_array)
static inline void *_memcpy_free(void *restrict dest, void *restrict src, size_t size)
REAL_FATTR_NONNULL_ALL REAL_FATTR_NONNULL_RET REAL_FATTR_ALWAYS_INLINE;
/// Move data to a new destination and free source
static inline void *_memcpy_free(void *const restrict dest, void *const restrict src,
const size_t size)
FUNC_ATTR_NONNULL_ALL FUNC_ATTR_NONNULL_RET FUNC_ATTR_ALWAYS_INLINE
{
memcpy(dest, src, size);
XFREE_CLEAR(src);