#ifndef PTX_MACROS_H_INCLDUED #define PTX_MACROS_H_INCLDUED #include "config.h" #define UNUSED(...) ((void)((void) __VA_ARGS__)) #define NO_OP_DECL _Static_assert(1, "") #ifdef __has_attribute # if __has_attribute(unavailable) # define PTX_UNAVAILABLE(_x) __attribute__((unavailable(_x))) # define PTX_UNAVAILABLE_DEF(_x, _def) _def PTX_UNAVAILABLE(_x) # else # define PTX_UNAVAILABLE(_x) # define PTX_UNAVAILABLE_DEF(_x, _def) /* definition hidden */ NO_OP_DECL # endif #else # define PTX_UNAVAILABLE(_x) # define PTX_UNAVAILABLE_DEF(_x, _def) /* definition hidden */ NO_OP_DECL #endif #ifdef PTX_PLUGIN #define PTX_API PTX_IMPORT #define PTX_INTERNAL(_def) PTX_UNAVAILABLE_DEF("internal API", _def) #else #define PTX_API PTX_EXPORT #define PTX_INTERNAL(_def) _def #endif #endif /* include guard */