26#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6)
27#define GCC_END_IGNORED_WARNING _Pragma("GCC diagnostic pop")
29#define GCC_BEGIN_IGNORED_WARNING_ADDRESS \
30 _Pragma("GCC diagnostic push"); \
31 _Pragma("GCC diagnostic ignored \"-Waddress\"")
32#define GCC_END_IGNORED_WARNING_ADDRESS GCC_END_IGNORED_WARNING
34#define GCC_BEGIN_IGNORED_WARNING_ADDRESS
35#define GCC_END_IGNORED_WARNING_ADDRESS
102#define CJOSE_ERROR(err, errcode) \
103 GCC_BEGIN_IGNORED_WARNING_ADDRESS \
104 if ((err) != NULL && (errcode) != CJOSE_ERR_NONE) \
106 (err)->code = (errcode); \
107 (err)->message = cjose_err_message((errcode)); \
108 (err)->function = __func__; \
109 (err)->file = __FILE__; \
110 (err)->line = __LINE__; \
112 GCC_END_IGNORED_WARNING_ADDRESS
cjose_errcode
Definition error.h:42
@ CJOSE_ERR_INVALID_STATE
Definition error.h:50
@ CJOSE_ERR_CRYPTO
Definition error.h:56
@ CJOSE_ERR_INVALID_ARG
Definition error.h:47
@ CJOSE_ERR_NONE
Definition error.h:44
@ CJOSE_ERR_NO_MEMORY
Definition error.h:53
const char * cjose_err_message(cjose_errcode code)
const char * file
Definition error.h:79
const char * function
Definition error.h:76
cjose_errcode code
Definition error.h:69
const char * message
Definition error.h:72
unsigned long line
Definition error.h:82