cpp = ' '.join(cc.cmd_array() + get_option('c_args')) + ' -E'
-has_wstringop_truncation = cc.has_argument('-Wstringop-truncation')
-
#####################################################################
# compilation result tests
conf.set('_GNU_SOURCE', 1)
conf.set('__SANE_USERSPACE_TYPES__', true)
-conf.set10('HAVE_WSTRINGOP_TRUNCATION', has_wstringop_truncation)
conf.set('SIZEOF_DEV_T', cc.sizeof('dev_t', prefix : '#include <sys/types.h>'))
conf.set('SIZEOF_INO_T', cc.sizeof('ino_t', prefix : '#include <sys/types.h>'))
#define _function_no_sanitize_float_cast_overflow_
#endif
-#if HAVE_WSTRINGOP_TRUNCATION
-# define DISABLE_WARNING_STRINGOP_TRUNCATION \
- _Pragma("GCC diagnostic push"); \
- _Pragma("GCC diagnostic ignored \"-Wstringop-truncation\"")
-#else
-# define DISABLE_WARNING_STRINGOP_TRUNCATION \
- _Pragma("GCC diagnostic push")
-#endif
-
/* test harness */
#define EXIT_TEST_SKIP 77
_Pragma("GCC diagnostic push"); \
_Pragma("GCC diagnostic ignored \"-Waddress\"")
+#define DISABLE_WARNING_STRINGOP_TRUNCATION \
+ _Pragma("GCC diagnostic push"); \
+ _Pragma("GCC diagnostic ignored \"-Wstringop-truncation\"")
+
+#define DISABLE_WARNING_ZERO_LENGTH_BOUNDS \
+ _Pragma("GCC diagnostic push"); \
+ _Pragma("GCC diagnostic ignored \"-Wzero-length-bounds\"")
+
#define REENABLE_WARNING \
_Pragma("GCC diagnostic pop")
#include "string-table.h"
#if PREFER_OPENSSL && OPENSSL_VERSION_MAJOR >= 3
-# pragma GCC diagnostic push
-# pragma GCC diagnostic ignored "-Wdeprecated-declarations"
+DISABLE_WARNING_DEPRECATED_DECLARATIONS;
DEFINE_TRIVIAL_CLEANUP_FUNC_FULL(RSA*, RSA_free, NULL);
DEFINE_TRIVIAL_CLEANUP_FUNC_FULL(EC_KEY*, EC_KEY_free, NULL);
-# pragma GCC diagnostic pop
+REENABLE_WARNING;
#endif
#define VERIFY_RRS_MAX 256
int r;
#if PREFER_OPENSSL
-# pragma GCC diagnostic push
-# pragma GCC diagnostic ignored "-Wdeprecated-declarations"
+ DISABLE_WARNING_DEPRECATED_DECLARATIONS;
_cleanup_(RSA_freep) RSA *rpubkey = NULL;
_cleanup_(EVP_PKEY_freep) EVP_PKEY *epubkey = NULL;
_cleanup_(EVP_PKEY_CTX_freep) EVP_PKEY_CTX *ctx = NULL;
return log_debug_errno(SYNTHETIC_ERRNO(EIO),
"Signature verification failed: 0x%lx", ERR_get_error());
-# pragma GCC diagnostic pop
+ REENABLE_WARNING;
#else
gcry_sexp_t public_key_sexp = NULL, data_sexp = NULL, signature_sexp = NULL;
gcry_mpi_t n = NULL, e = NULL, s = NULL;
int k;
#if PREFER_OPENSSL
-# pragma GCC diagnostic push
-# pragma GCC diagnostic ignored "-Wdeprecated-declarations"
+ DISABLE_WARNING_DEPRECATED_DECLARATIONS;
_cleanup_(EC_GROUP_freep) EC_GROUP *ec_group = NULL;
_cleanup_(EC_POINT_freep) EC_POINT *p = NULL;
_cleanup_(EC_KEY_freep) EC_KEY *eckey = NULL;
return log_debug_errno(SYNTHETIC_ERRNO(EIO),
"Signature verification failed: 0x%lx", ERR_get_error());
-# pragma GCC diagnostic pop
+ REENABLE_WARNING;
#else
gcry_sexp_t public_key_sexp = NULL, data_sexp = NULL, signature_sexp = NULL;
gcry_mpi_t q = NULL, r = NULL, s = NULL;
#include "extract-word.h"
#include "fd-util.h"
#include "log.h"
+#include "macro-fundamental.h"
#include "memory-util.h"
#include "socket-util.h"
#include "string-table.h"
if (buffer.info.sset_mask == 0)
return -EOPNOTSUPP;
-#pragma GCC diagnostic push
-#if HAVE_ZERO_LENGTH_BOUNDS
-# pragma GCC diagnostic ignored "-Wzero-length-bounds"
-#endif
+ DISABLE_WARNING_ZERO_LENGTH_BOUNDS;
len = buffer.info.data[0];
-#pragma GCC diagnostic pop
+ REENABLE_WARNING;
if (len == 0)
return -EOPNOTSUPP;