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

@@ -10,6 +10,10 @@
#include "nvim/os/os_defs.h"
#include "nvim/types_defs.h" // IWYU pragma: keep
static inline char *strappend(char *dst, const char *src)
REAL_FATTR_ALWAYS_INLINE REAL_FATTR_NONNULL_ALL
REAL_FATTR_NONNULL_RET REAL_FATTR_WARN_UNUSED_RESULT;
/// Append string to string and return pointer to the next byte
///
/// Unlike strcat, this one does *not* add NUL byte and returns pointer to the
@@ -20,8 +24,6 @@
///
/// @return pointer to the byte just past the appended byte.
static inline char *strappend(char *const dst, const char *const src)
FUNC_ATTR_ALWAYS_INLINE FUNC_ATTR_NONNULL_ALL FUNC_ATTR_WARN_UNUSED_RESULT
FUNC_ATTR_NONNULL_RET
{
const size_t src_len = strlen(src);
return (char *)memmove(dst, src, src_len) + src_len;