BLI_utildefines: add UNUSED_FUNCTION_WITH_RETURN_TYPE

Unfortunately the UNUSED_FUNCTION macro doesn't work for pointer types.

Add UNUSED_FUNCTION_WITH_RETURN_TYPE to workaround this limitation.
This commit is contained in:
Campbell Barton 2021-09-06 18:57:25 +10:00
parent 81978594a8
commit 49f1695ed0
2 changed files with 11 additions and 1 deletions

View File

@ -683,12 +683,22 @@ extern bool BLI_memory_is_zero(const void *arr, const size_t arr_size);
# define UNUSED(x) UNUSED_##x
#endif
/**
* WARNING: this doesn't warn when returning pointer types (because of the placement of `*`).
* Use #UNUSED_FUNCTION_WITH_RETURN_TYPE instead in this case.
*/
#if defined(__GNUC__) || defined(__clang__)
# define UNUSED_FUNCTION(x) __attribute__((__unused__)) UNUSED_##x
#else
# define UNUSED_FUNCTION(x) UNUSED_##x
#endif
#if defined(__GNUC__) || defined(__clang__)
# define UNUSED_FUNCTION_WITH_RETURN_TYPE(rtype, x) __attribute__((__unused__)) rtype UNUSED_##x
#else
# define UNUSED_FUNCTION_WITH_RETURN_TYPE(rtype, x) rtype UNUSED_##x
#endif
/**
* UNUSED_VARS#(a, ...): quiet unused warnings
*

View File

@ -5523,7 +5523,7 @@ char *RNA_path_append(
/* Having both path append & back seems like it could be useful,
* this function isn't used at the moment. */
static char *UNUSED_FUNCTION(RNA_path_back)(const char *path)
static UNUSED_FUNCTION_WITH_RETURN_TYPE(char *, RNA_path_back)(const char *path)
{
char fixedbuf[256];
const char *previous, *current;