diff options
Diffstat (limited to 'include/compiler.h')
-rw-r--r-- | include/compiler.h | 25 |
1 files changed, 23 insertions, 2 deletions
diff --git a/include/compiler.h b/include/compiler.h index 43984338..a1905d27 100644 --- a/include/compiler.h +++ b/include/compiler.h @@ -1,5 +1,5 @@ /* ----------------------------------------------------------------------- * - * + * * Copyright 2007-2018 The NASM Authors - All Rights Reserved * See the file AUTHORS included with the NASM distribution for * the specific copyright holders. @@ -14,7 +14,7 @@ * copyright notice, this list of conditions and the following * disclaimer in the documentation and/or other materials provided * with the distribution. - * + * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF @@ -310,6 +310,27 @@ static inline void *mempcpy(void *dst, const void *src, size_t n) #define printf_func(fmt, list) format_func3(printf,fmt,list) #define printf_func_ptr(fmt, list) format_func3_ptr(printf,fmt,list) +/* + * A static [inline] function which either is currently unused but + * likely to be used in the future, or used only under some #if + * combinations. Mark with this option to suppress compiler + * warnings. + * + * This is better than #if(def) because it still lets the compiler + * analyze the function for validity, and it works even for the + * conditional use case. + * + * The macro UNUSED is set to 1 if the unused macro is meaningful, + * otherwise 0; this may be useful in some #if statements. + */ +#ifdef HAVE_FUNC_ATTRIBUTE_UNUSED +# define unused __attribute__((unused)) +# define UNUSED 1 +#else +# define unused +# define UNUSED 0 +#endif + /* Determine probabilistically if something is a compile-time constant */ #ifdef HAVE___BUILTIN_CONSTANT_P # if defined(__GNUC__) && (__GNUC__ >= 5) |