diff --git a/meson.build b/meson.build index 83f4e9cf66d..3fac5d2eb58 100644 --- a/meson.build +++ b/meson.build @@ -916,6 +916,7 @@ endforeach _attributes = [ 'const', 'flatten', 'malloc', 'pure', 'unused', 'warn_unused_result', 'weak', 'format', 'packed', 'returns_nonnull', 'alias', 'noreturn', + 'nonnull', ] foreach a : cc.get_supported_function_attributes(_attributes) pre_args += '-DHAVE_FUNC_ATTRIBUTE_@0@'.format(a.to_upper()) diff --git a/src/util/macros.h b/src/util/macros.h index bffabfb52a8..0bf1dac413f 100644 --- a/src/util/macros.h +++ b/src/util/macros.h @@ -317,6 +317,12 @@ do { \ #define ASSERTED #endif +#ifdef HAVE_FUNC_ATTRIBUTE_NONNULL +#define NONNULL __attribute__((__nonnull__)) +#else +#define NONNULL +#endif + #ifdef HAVE_FUNC_ATTRIBUTE_WARN_UNUSED_RESULT #define MUST_CHECK __attribute__((warn_unused_result)) #else