diff options
Diffstat (limited to 'include/linux/compiler_attributes.h')
| -rw-r--r-- | include/linux/compiler_attributes.h | 14 | 
1 files changed, 14 insertions, 0 deletions
| diff --git a/include/linux/compiler_attributes.h b/include/linux/compiler_attributes.h index 19f32b0c29af..6b318efd8a74 100644 --- a/include/linux/compiler_attributes.h +++ b/include/linux/compiler_attributes.h @@ -34,6 +34,7 @@  #ifndef __has_attribute  # define __has_attribute(x) __GCC4_has_attribute_##x  # define __GCC4_has_attribute___assume_aligned__      (__GNUC_MINOR__ >= 9) +# define __GCC4_has_attribute___copy__                0  # define __GCC4_has_attribute___designated_init__     0  # define __GCC4_has_attribute___externally_visible__  1  # define __GCC4_has_attribute___noclone__             1 @@ -101,6 +102,19 @@  #define __attribute_const__             __attribute__((__const__))  /* + * Optional: only supported since gcc >= 9 + * Optional: not supported by clang + * Optional: not supported by icc + * + *   gcc: https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html#index-copy-function-attribute + */ +#if __has_attribute(__copy__) +# define __copy(symbol)                 __attribute__((__copy__(symbol))) +#else +# define __copy(symbol) +#endif + +/*   * Don't. Just don't. See commit 771c035372a0 ("deprecate the '__deprecated'   * attribute warnings entirely and for good") for more information.   * | 
