start_next_command(void);
static void
-process_next_command(void *arg __attribute__((__unused__))) {
+process_next_command(void *arg ISC_ATTR_UNUSED) {
isc_loop_t *loop = isc_loop_main(loopmgr);
if (cmdline == NULL) {
in_use = false;
static protocol_t protocol;
static in_port_t port;
static isc_netaddr_t netaddr;
-static isc_sockaddr_t sockaddr __attribute__((unused));
+static isc_sockaddr_t sockaddr ISC_ATTR_UNUSED;
static int workers;
static isc_tlsctx_t *tls_ctx = NULL;
var = _u.v; \
} while (0)
-#if !defined(__has_attribute)
-#define __has_attribute(x) 0
-#endif /* if !defined(__has_attribute) */
+#if !defined(__has_c_attribute)
+#define __has_c_attribute(x) 0
+#endif /* if !defined(__has_c_attribute) */
-#if __GNUC__ >= 7 || __has_attribute(fallthrough)
+#if __has_c_attribute(fallthrough)
+#define FALLTHROUGH [[fallthrough]]
+#elif __GNUC__ >= 7 && !defined(__clang__)
#define FALLTHROUGH __attribute__((fallthrough))
#else
/* clang-format off */
}
int
-LLVMFuzzerInitialize(int *argc __attribute__((unused)),
- char ***argv __attribute__((unused))) {
+LLVMFuzzerInitialize(int *argc ISC_ATTR_UNUSED, char ***argv ISC_ATTR_UNUSED) {
isc_result_t result;
dns_fixedname_t fixed;
dns_name_t *name = dns_fixedname_initname(&fixed);
static uint8_t render_buf[64 * 1024 - 1];
int
-LLVMFuzzerInitialize(int *argc __attribute__((unused)),
- char ***argv __attribute__((unused))) {
+LLVMFuzzerInitialize(int *argc ISC_ATTR_UNUSED, char ***argv ISC_ATTR_UNUSED) {
isc_mem_create(&mctx);
output = isc_mem_get(mctx, output_len);
bool debug = false;
int
-LLVMFuzzerInitialize(int *argc __attribute__((unused)),
- char ***argv __attribute__((unused))) {
+LLVMFuzzerInitialize(int *argc ISC_ATTR_UNUSED, char ***argv ISC_ATTR_UNUSED) {
return (0);
}
bool debug = false;
int
-LLVMFuzzerInitialize(int *argc __attribute__((unused)),
- char ***argv __attribute__((unused))) {
+LLVMFuzzerInitialize(int *argc ISC_ATTR_UNUSED, char ***argv ISC_ATTR_UNUSED) {
return (0);
}
static isc_lex_t *lex = NULL;
int
-LLVMFuzzerInitialize(int *argc __attribute__((unused)),
- char ***argv __attribute__((unused))) {
+LLVMFuzzerInitialize(int *argc ISC_ATTR_UNUSED, char ***argv ISC_ATTR_UNUSED) {
isc_lexspecials_t specials;
isc_mem_create(&mctx);
extern bool debug;
int
-LLVMFuzzerInitialize(int *argc __attribute__((unused)),
- char ***argv __attribute__((unused)));
+LLVMFuzzerInitialize(int *argc ISC_ATTR_UNUSED, char ***argv ISC_ATTR_UNUSED);
int
LLVMFuzzerTestOneInput(const uint8_t *data, size_t size);
bool debug = false;
int
-LLVMFuzzerInitialize(int *argc __attribute__((unused)),
- char ***argv __attribute__((unused)));
+LLVMFuzzerInitialize(int *argc ISC_ATTR_UNUSED, char ***argv ISC_ATTR_UNUSED);
int
LLVMFuzzerTestOneInput(const uint8_t *data, size_t size);
static isc_lex_t *lex = NULL;
int
-LLVMFuzzerInitialize(int *argc __attribute__((unused)),
- char ***argv __attribute__((unused))) {
+LLVMFuzzerInitialize(int *argc ISC_ATTR_UNUSED, char ***argv ISC_ATTR_UNUSED) {
isc_mem_create(&mctx);
isc_lex_create(mctx, 1024, &lex);
static isc_lex_t *lex = NULL;
int
-LLVMFuzzerInitialize(int *argc __attribute__((unused)),
- char ***argv __attribute__((unused))) {
+LLVMFuzzerInitialize(int *argc ISC_ATTR_UNUSED, char ***argv ISC_ATTR_UNUSED) {
isc_mem_create(&mctx);
isc_lex_create(mctx, 1024, &lex);
} librpz_emsg_t;
#ifdef LIBRPZ_HAVE_ATTR
-#define LIBRPZ_UNUSED __attribute__((unused))
+#define LIBRPZ_UNUSED ISC_ATTR_UNUSED
#define LIBRPZ_PF(f, l) __attribute__((format(printf, f, l)))
#define LIBRPZ_NORET __attribute__((__noreturn__))
#else /* ifdef LIBRPZ_HAVE_ATTR */
#define DNS__DB_FILELINE , __func__, __FILE__, __LINE__
#define DNS__DB_FLARG_PASS , func, file, line
-#define DNS__DB_FLARG \
- , const char *func __attribute__((__unused__)), \
- const char *file __attribute__((__unused__)), \
- unsigned int line __attribute__((__unused__))
+#define DNS__DB_FLARG \
+ , const char *func ISC_ATTR_UNUSED, const char *file ISC_ATTR_UNUSED, \
+ unsigned int line ISC_ATTR_UNUSED
#else /* DNS_DB_NODETRACE */
};
}
-static void __attribute__((__unused__))
+ISC_ATTR_UNUSED static void
hashmap_dump_table(const isc_hashmap_t *hashmap, const uint8_t idx) {
fprintf(stderr,
"====== %" PRIu8 " (bits = %" PRIu8 ", size = %zu =====\n", idx,
#define __has_c_attribute(x) 0
#endif /* if !defined(__has_c_attribute) */
-#if __has_c_attribute(noreturn)
-#define noreturn [[noreturn]]
-#elif defined(HAVE_STDNORETURN_H)
+#ifdef HAVE_STDNORETURN_H
#include <stdnoreturn.h>
#elif HAVE_FUNC_ATTRIBUTE_NORETURN
#define noreturn __attribute__((noreturn))
#define isc_nmhandle_detach(handlep) \
isc__nmhandle_detach(handlep, __FILE__, __LINE__, __func__)
#define FLARG_PASS , file, line, func
-#define FLARG \
- , const char *file __attribute__((unused)), \
- unsigned int line __attribute__((unused)), \
- const char *func __attribute__((unused))
+#define FLARG \
+ , const char *file ISC_ATTR_UNUSED, unsigned int line ISC_ATTR_UNUSED, \
+ const char *func ISC_ATTR_UNUSED
#else
#define isc_nmhandle_attach(handle, dest) isc__nmhandle_attach(handle, dest)
#define isc_nmhandle_detach(handlep) isc__nmhandle_detach(handlep)
***/
/*%
- * Use this to hide unused function arguments.
+ * Legacy way how to hide unused function arguments, don't use in
+ * the new code, rather use the ISC_ATTR_UNUSED macro that expands
+ * to either C23's [[maybe_unused]] or __attribute__((__unused__)).
+ *
* \code
* int
- * foo(char *bar)
- * {
- * UNUSED(bar);
+ * foo(ISC_ATTR_UNUSED char *bar) {
+ * ...;
* }
* \endcode
*/
#define ISC_NONSTRING
#endif /* __GNUC__ */
-#if __has_c_attribute(fallthrough)
-#define FALLTHROUGH [[fallthrough]]
-#elif __GNUC__ >= 7 && !defined(__clang__)
-#define FALLTHROUGH __attribute__((fallthrough))
-#else
-/* clang-format off */
-#define FALLTHROUGH do {} while (0) /* FALLTHROUGH */
-/* clang-format on */
-#endif
-
#if HAVE_FUNC_ATTRIBUTE_CONSTRUCTOR && HAVE_FUNC_ATTRIBUTE_DESTRUCTOR
#define ISC_CONSTRUCTOR __attribute__((constructor))
#define ISC_DESTRUCTOR __attribute__((destructor))
fprintf(stderr, "%" PRIu32 ":%d:%s:%u:%s:" format, gettid(), \
isc_tid(), file, line, func, __VA_ARGS__)
-#define FLARG \
- , const char *file __attribute__((unused)), \
- unsigned int line __attribute__((unused)), \
- const char *func __attribute__((unused))
+#define FLARG \
+ , const char *file ISC_ATTR_UNUSED, unsigned int line ISC_ATTR_UNUSED, \
+ const char *func ISC_ATTR_UNUSED
#define FLARG_PASS , file, line, func
#define FLARG_IEVENT(ievent) \
const char *file = ievent->file; \
}
void
-isc_nm_setloadbalancesockets(isc_nm_t *mgr, bool enabled) {
+isc_nm_setloadbalancesockets(isc_nm_t *mgr, ISC_ATTR_UNUSED bool enabled) {
REQUIRE(VALID_NM(mgr));
#if HAVE_SO_REUSEPORT_LB
mgr->load_balance_sockets = enabled;
-#else
- UNUSED(enabled);
#endif
}
#define TAPTEXT TESTS_DIR "/testdata/dnstap/dnstap.text"
static int
-cleanup(void **state __attribute__((__unused__))) {
+cleanup(void **state ISC_ATTR_UNUSED) {
(void)isc_file_remove(TAPFILE);
(void)isc_file_remove(TAPSOCK);
dns_zone_t *zone1 = NULL, *zone2 = NULL, *zone3 = NULL;
static isc_result_t
-all_done(void *arg __attribute__((__unused__))) {
+all_done(void *arg ISC_ATTR_UNUSED) {
isc_result_t result;
/* Both zones should now be loaded; test them */
/* clang-format on */
#define ISC_SETUP_TEST_DECLARE(name) \
- int setup_test_##name(void **state __attribute__((unused)));
+ int setup_test_##name(void **state ISC_ATTR_UNUSED);
#define ISC_RUN_TEST_DECLARE(name) \
- void run_test_##name(void **state __attribute__((unused)));
+ void run_test_##name(void **state ISC_ATTR_UNUSED);
#define ISC_TEARDOWN_TEST_DECLARE(name) \
- int teardown_test_##name(void **state __attribute__((unused)))
+ int teardown_test_##name(void **state ISC_ATTR_UNUSED)
-#define ISC_LOOP_TEST_CUSTOM_DECLARE(name, setup, teardown) \
- void run_test_##name(void **state __attribute__((__unused__))); \
- void loop_test_##name(void *arg __attribute__((__unused__)));
+#define ISC_LOOP_TEST_CUSTOM_DECLARE(name, setup, teardown) \
+ void run_test_##name(void **state ISC_ATTR_UNUSED); \
+ void loop_test_##name(void *arg ISC_ATTR_UNUSED);
#define ISC_LOOP_TEST_DECLARE(name) \
ISC_LOOP_TEST_CUSTOM_DECLARE(name, NULL, NULL)
ISC_LOOP_TEST_CUSTOM_DECLARE(name, NULL, teardown_loop_##name)
#define ISC_LOOP_SETUP_DECLARE(name) \
- void setup_loop_##name(void *arg __attribute__((__unused__)));
+ void setup_loop_##name(void *arg ISC_ATTR_UNUSED);
-#define ISC_SETUP_TEST_IMPL(name) \
- int setup_test_##name(void **state __attribute__((unused))); \
- int setup_test_##name(void **state __attribute__((unused)))
+#define ISC_SETUP_TEST_IMPL(name) \
+ int setup_test_##name(void **state ISC_ATTR_UNUSED); \
+ int setup_test_##name(void **state ISC_ATTR_UNUSED)
-#define ISC_RUN_TEST_IMPL(name) \
- void run_test_##name(void **state __attribute__((unused))); \
- void run_test_##name(void **state __attribute__((unused)))
+#define ISC_RUN_TEST_IMPL(name) \
+ void run_test_##name(void **state ISC_ATTR_UNUSED); \
+ void run_test_##name(void **state ISC_ATTR_UNUSED)
-#define ISC_TEARDOWN_TEST_IMPL(name) \
- int teardown_test_##name(void **state __attribute__((unused))); \
- int teardown_test_##name(void **state __attribute__((unused)))
+#define ISC_TEARDOWN_TEST_IMPL(name) \
+ int teardown_test_##name(void **state ISC_ATTR_UNUSED); \
+ int teardown_test_##name(void **state ISC_ATTR_UNUSED)
#define ISC_TEST_LIST_START const struct CMUnitTest tests[] = {
#define ISC_TEST_LIST_END \
} \
;
-#define ISC_LOOP_TEST_CUSTOM_IMPL(name, setup, teardown) \
- void run_test_##name(void **state __attribute__((__unused__))); \
- void loop_test_##name(void *arg __attribute__((__unused__))); \
- void run_test_##name(void **state __attribute__((__unused__))) { \
- isc_job_cb setup_loop = setup; \
- isc_job_cb teardown_loop = teardown; \
- if (setup_loop != NULL) { \
- setup_loop(state); \
- } \
- isc_loop_setup(mainloop, loop_test_##name, state); \
- isc_loopmgr_run(loopmgr); \
- if (teardown_loop != NULL) { \
- teardown_loop(state); \
- } \
- } \
- void loop_test_##name(void *arg __attribute__((__unused__)))
+#define ISC_LOOP_TEST_CUSTOM_IMPL(name, setup, teardown) \
+ void run_test_##name(void **state ISC_ATTR_UNUSED); \
+ void loop_test_##name(void *arg ISC_ATTR_UNUSED); \
+ void run_test_##name(void **state ISC_ATTR_UNUSED) { \
+ isc_job_cb setup_loop = setup; \
+ isc_job_cb teardown_loop = teardown; \
+ if (setup_loop != NULL) { \
+ setup_loop(state); \
+ } \
+ isc_loop_setup(mainloop, loop_test_##name, state); \
+ isc_loopmgr_run(loopmgr); \
+ if (teardown_loop != NULL) { \
+ teardown_loop(state); \
+ } \
+ } \
+ void loop_test_##name(void *arg ISC_ATTR_UNUSED)
#define ISC_LOOP_TEST_IMPL(name) ISC_LOOP_TEST_CUSTOM_IMPL(name, NULL, NULL)
#define ISC_LOOP_TEST_TEARDOWN_IMPL(name) \
ISC_LOOP_TEST_CUSTOM_IMPL(name, NULL, teardown_loop_##name)
-#define ISC_LOOP_SETUP_IMPL(name) \
- void setup_loop_##name(void *arg __attribute__((__unused__))); \
- void setup_loop_##name(void *arg __attribute__((__unused__)))
+#define ISC_LOOP_SETUP_IMPL(name) \
+ void setup_loop_##name(void *arg ISC_ATTR_UNUSED); \
+ void setup_loop_##name(void *arg ISC_ATTR_UNUSED)
-#define ISC_LOOP_TEARDOWN_IMPL(name) \
- void teardown_loop_##name(void *arg __attribute__((__unused__))); \
- void teardown_loop_##name(void *arg __attribute__((__unused__)))
+#define ISC_LOOP_TEARDOWN_IMPL(name) \
+ void teardown_loop_##name(void *arg ISC_ATTR_UNUSED); \
+ void teardown_loop_##name(void *arg ISC_ATTR_UNUSED)
#define ISC_TEST_DECLARE(name) void run_test_##name(void **state);
extern atomic_uintptr_t client_addrs[32];
#if ISC_NETMGR_TRACE
-#define FLARG \
- , const char *file __attribute__((unused)), \
- unsigned int line __attribute__((unused)), \
- const char *func __attribute__((unused))
+#define FLARG \
+ , const char *file ISC_ATTR_UNUSED, unsigned int line ISC_ATTR_UNUSED, \
+ const char *func ISC_ATTR_UNUSED
#else
#define FLARG
#endif
int
teardown_server(void **state);
void
-shutdown_interfacemgr(void *arg __attribute__((unused)));
+shutdown_interfacemgr(void *arg ISC_ATTR_UNUSED);
/*%
* Load data for zone "zonename" from file "filename" and start serving it to
#include <isc/refcount.h>
#include <isc/sockaddr.h>
#include <isc/thread.h>
+#include <isc/util.h>
#include <isc/uv.h>
#include "uv_wrap.h"
}
static int
-teardown_test(void **state __attribute__((__unused__))) {
+teardown_test(void **state ISC_ATTR_UNUSED) {
for (size_t i = 0; i < MAX_NM; i++) {
isc_netmgr_destroy(&nm[i]);
assert_null(nm[i]);
}
static void
-doh_noop(void *arg __attribute__((__unused__))) {
+doh_noop(void *arg ISC_ATTR_UNUSED) {
isc_nm_t *listen_nm = nm[0];
isc_nm_t *connect_nm = nm[1];
isc_result_t result = ISC_R_SUCCESS;
}
static void
-doh_noresponse(void *arg __attribute__((__unused__))) {
+doh_noresponse(void *arg ISC_ATTR_UNUSED) {
isc_nm_t *listen_nm = nm[0];
isc_nm_t *connect_nm = nm[1];
isc_result_t result = ISC_R_SUCCESS;
static void
timeout_retry_cb(isc_nmhandle_t *handle, isc_result_t eresult,
- isc_region_t *region __attribute__((__unused__)),
- void *arg __attribute__((__unused__))) {
+ isc_region_t *region ISC_ATTR_UNUSED,
+ void *arg ISC_ATTR_UNUSED) {
assert_non_null(handle);
atomic_fetch_add(&ctimeouts, 1);
}
static void
-doh_timeout_recovery(void *arg __attribute__((__unused__))) {
+doh_timeout_recovery(void *arg ISC_ATTR_UNUSED) {
isc_nm_t *listen_nm = nm[0];
isc_nmsocket_t *listen_sock = NULL;
isc_nm_t *connect_nm = nm[1];
}
static void
-doh_recv_one(void *arg __attribute__((__unused__))) {
+doh_recv_one(void *arg ISC_ATTR_UNUSED) {
isc_nm_t *listen_nm = nm[0];
isc_nm_t *connect_nm = nm[1];
isc_result_t result = ISC_R_SUCCESS;
}
static void
-doh_recv_two(void *arg __attribute__((__unused__))) {
+doh_recv_two(void *arg ISC_ATTR_UNUSED) {
isc_nm_t *listen_nm = nm[0];
isc_nm_t *connect_nm = nm[1];
isc_result_t result = ISC_R_SUCCESS;
}
static void
-doh_recv_send(void *arg __attribute__((__unused__))) {
+doh_recv_send(void *arg ISC_ATTR_UNUSED) {
isc_nm_t *listen_nm = nm[0];
isc_nm_t *connect_nm = nm[1];
isc_result_t result = ISC_R_SUCCESS;
ISC_RUN_TEST_IMPL(isc_hmac_reset) {
isc_hmac_t *hmac = *state;
#if 0
- unsigned char digest[ISC_MAX_MD_SIZE] __attribute((unused));
- unsigned int digestlen __attribute((unused));
+ unsigned char digest[ISC_MAX_MD_SIZE] ISC_ATTR_UNUSED;
+ unsigned int digestlen ISC_ATTR_UNUSED;
#endif /* if 0 */
assert_non_null(hmac);
}
static void
-runjob(void *arg __attribute__((__unused__))) {
+runjob(void *arg ISC_ATTR_UNUSED) {
isc_async_current(loopmgr, count, loopmgr);
-
if (isc_tid() == 0) {
isc_async_current(loopmgr, shutdown_loopmgr, loopmgr);
}
ISC_RUN_TEST_IMPL(isc_md_reset) {
isc_md_t *md = *state;
#if 0
- unsigned char digest[ISC_MAX_MD_SIZE] __attribute((unused));
- unsigned int digestlen __attribute((unused));
+ unsigned char digest[ISC_MAX_MD_SIZE] ISC_ATTR_UNUSED;
+ unsigned int digestlen ISC_ATTR_UNUSED;
#endif /* if 0 */
assert_non_null(md);
}
int
-teardown_netmgr_test(void **state __attribute__((__unused__))) {
+teardown_netmgr_test(void **state ISC_ATTR_UNUSED) {
UNUSED(state);
isc_tlsctx_client_session_cache_detach(&tcp_tlsctx_client_sess_cache);
}
static void
-stop_listening(void *arg __attribute__((__unused__))) {
+stop_listening(void *arg ISC_ATTR_UNUSED) {
isc_nm_stoplistening(listen_sock);
isc_nmsocket_close(&listen_sock);
assert_null(listen_sock);
}
int
-stream_noop_setup(void **state __attribute__((__unused__))) {
+stream_noop_setup(void **state ISC_ATTR_UNUSED) {
int r = setup_netmgr_test(state);
expected_cconnects = 1;
return (r);
}
void
-stream_noop(void **state __attribute__((__unused__))) {
+stream_noop(void **state ISC_ATTR_UNUSED) {
isc_result_t result = ISC_R_SUCCESS;
result = stream_listen(noop_accept_cb, NULL, 128, NULL, &listen_sock);
}
int
-stream_noop_teardown(void **state __attribute__((__unused__))) {
+stream_noop_teardown(void **state ISC_ATTR_UNUSED) {
atomic_assert_int_eq(cconnects, 1);
atomic_assert_int_eq(csends, 0);
atomic_assert_int_eq(creads, 0);
}
int
-stream_noresponse_setup(void **state __attribute__((__unused__))) {
+stream_noresponse_setup(void **state ISC_ATTR_UNUSED) {
int r = setup_netmgr_test(state);
expected_cconnects = 1;
expected_saccepts = 1;
}
void
-stream_noresponse(void **state __attribute__((__unused__))) {
+stream_noresponse(void **state ISC_ATTR_UNUSED) {
isc_result_t result = ISC_R_SUCCESS;
result = stream_listen(noop_accept_cb, NULL, 128, NULL, &listen_sock);
}
int
-stream_noresponse_teardown(void **state __attribute__((__unused__))) {
+stream_noresponse_teardown(void **state ISC_ATTR_UNUSED) {
X(cconnects);
X(csends);
X(creads);
}
int
-stream_timeout_recovery_setup(void **state __attribute__((__unused__))) {
+stream_timeout_recovery_setup(void **state ISC_ATTR_UNUSED) {
int r = setup_netmgr_test(state);
expected_ctimeouts = 4;
}
void
-stream_timeout_recovery(void **state __attribute__((__unused__))) {
+stream_timeout_recovery(void **state ISC_ATTR_UNUSED) {
isc_result_t result = ISC_R_SUCCESS;
/*
}
int
-stream_timeout_recovery_teardown(void **state __attribute__((__unused__))) {
+stream_timeout_recovery_teardown(void **state ISC_ATTR_UNUSED) {
atomic_assert_int_eq(ctimeouts, expected_ctimeouts);
return (teardown_netmgr_test(state));
}
int
-stream_recv_one_setup(void **state __attribute__((__unused__))) {
+stream_recv_one_setup(void **state ISC_ATTR_UNUSED) {
int r = setup_netmgr_test(state);
expected_cconnects = 1;
}
void
-stream_recv_one(void **state __attribute__((__unused__))) {
+stream_recv_one(void **state ISC_ATTR_UNUSED) {
isc_result_t result = ISC_R_SUCCESS;
isc_quota_t *quotap = tcp_listener_init_quota(1);
}
int
-stream_recv_one_teardown(void **state __attribute__((__unused__))) {
+stream_recv_one_teardown(void **state ISC_ATTR_UNUSED) {
atomic_assert_int_eq(cconnects, expected_cconnects);
atomic_assert_int_eq(csends, expected_csends);
atomic_assert_int_eq(saccepts, expected_saccepts);
}
int
-stream_recv_two_setup(void **state __attribute__((__unused__))) {
+stream_recv_two_setup(void **state ISC_ATTR_UNUSED) {
int r = setup_netmgr_test(state);
expected_cconnects = 2;
}
void
-stream_recv_two(void **state __attribute__((__unused__))) {
+stream_recv_two(void **state ISC_ATTR_UNUSED) {
isc_result_t result = ISC_R_SUCCESS;
isc_quota_t *quotap = tcp_listener_init_quota(1);
}
int
-stream_recv_two_teardown(void **state __attribute__((__unused__))) {
+stream_recv_two_teardown(void **state ISC_ATTR_UNUSED) {
atomic_assert_int_eq(cconnects, expected_cconnects);
atomic_assert_int_eq(csends, expected_csends);
atomic_assert_int_eq(sreads, expected_saccepts);
}
int
-stream_recv_send_setup(void **state __attribute__((__unused__))) {
+stream_recv_send_setup(void **state ISC_ATTR_UNUSED) {
int r = setup_netmgr_test(state);
expected_cconnects = workers;
cconnects_shutdown = false;
}
void
-stream_recv_send(void **state __attribute__((__unused__))) {
+stream_recv_send(void **state ISC_ATTR_UNUSED) {
isc_result_t result = ISC_R_SUCCESS;
isc_quota_t *quotap = tcp_listener_init_quota(workers);
}
int
-stream_recv_send_teardown(void **state __attribute__((__unused__))) {
+stream_recv_send_teardown(void **state ISC_ATTR_UNUSED) {
X(cconnects);
X(csends);
X(creads);
#include <isc/netmgr.h>
#include <isc/refcount.h>
#include <isc/thread.h>
+#include <isc/util.h>
#include "netmgr/netmgr-int.h"
int
setup_netmgr_test(void **state);
int
-teardown_netmgr_test(void **state __attribute__((unused)));
+teardown_netmgr_test(void **state ISC_ATTR_UNUSED);
void
noop_recv_cb(isc_nmhandle_t *handle, isc_result_t eresult, isc_region_t *region,
stream_connect(isc_nm_cb_t cb, void *cbarg, unsigned int timeout);
int
-stream_noop_setup(void **state __attribute__((unused)));
+stream_noop_setup(void **state ISC_ATTR_UNUSED);
void
-stream_noop(void **state __attribute__((unused)));
+stream_noop(void **state ISC_ATTR_UNUSED);
int
-stream_noop_teardown(void **state __attribute__((unused)));
+stream_noop_teardown(void **state ISC_ATTR_UNUSED);
int
-stream_noresponse_setup(void **state __attribute__((unused)));
+stream_noresponse_setup(void **state ISC_ATTR_UNUSED);
void
-stream_noresponse(void **state __attribute__((unused)));
+stream_noresponse(void **state ISC_ATTR_UNUSED);
int
-stream_noresponse_teardown(void **state __attribute__((unused)));
+stream_noresponse_teardown(void **state ISC_ATTR_UNUSED);
int
-stream_timeout_recovery_setup(void **state __attribute__((unused)));
+stream_timeout_recovery_setup(void **state ISC_ATTR_UNUSED);
void
-stream_timeout_recovery(void **state __attribute__((unused)));
+stream_timeout_recovery(void **state ISC_ATTR_UNUSED);
int
-stream_timeout_recovery_teardown(void **state __attribute__((unused)));
+stream_timeout_recovery_teardown(void **state ISC_ATTR_UNUSED);
int
-stream_recv_one_setup(void **state __attribute__((unused)));
+stream_recv_one_setup(void **state ISC_ATTR_UNUSED);
void
-stream_recv_one(void **state __attribute__((unused)));
+stream_recv_one(void **state ISC_ATTR_UNUSED);
int
-stream_recv_one_teardown(void **state __attribute__((unused)));
+stream_recv_one_teardown(void **state ISC_ATTR_UNUSED);
int
-stream_recv_two_setup(void **state __attribute__((unused)));
+stream_recv_two_setup(void **state ISC_ATTR_UNUSED);
void
-stream_recv_two(void **state __attribute__((unused)));
+stream_recv_two(void **state ISC_ATTR_UNUSED);
int
-stream_recv_two_teardown(void **state __attribute__((unused)));
+stream_recv_two_teardown(void **state ISC_ATTR_UNUSED);
int
-stream_recv_send_setup(void **state __attribute__((unused)));
+stream_recv_send_setup(void **state ISC_ATTR_UNUSED);
void
-stream_recv_send(void **state __attribute__((unused)));
+stream_recv_send(void **state ISC_ATTR_UNUSED);
int
-stream_recv_send_teardown(void **state __attribute__((unused)));
+stream_recv_send_teardown(void **state ISC_ATTR_UNUSED);
void
stream_recv_send_connect(void *arg);
ISC_TEST_LIST_END
static int
-tcp_setup(void **state __attribute__((__unused__))) {
+tcp_setup(void **state ISC_ATTR_UNUSED) {
stream_port = TCP_TEST_PORT;
stream_use_TLS = false;
stream = true;
/* TCPDNS */
static void
-stop_listening(void *arg __attribute__((__unused__))) {
+stop_listening(void *arg ISC_ATTR_UNUSED) {
isc_nm_stoplistening(listen_sock);
isc_nmsocket_close(&listen_sock);
assert_null(listen_sock);
ISC_TEST_LIST_END
static int
-tcpdns_setup(void **state __attribute__((__unused__))) {
+tcpdns_setup(void **state ISC_ATTR_UNUSED) {
stream_port = TCPDNS_TEST_PORT;
return (0);
}
static void
-timer_event(void *arg __attribute__((__unused__))) {
+timer_event(void *arg ISC_ATTR_UNUSED) {
if (--timer_ticks == 0) {
isc_timer_destroy(&timer);
isc_loopmgr_shutdown(loopmgr);
ISC_TEST_LIST_END
static int
-tls_setup(void **state __attribute__((__unused__))) {
+tls_setup(void **state ISC_ATTR_UNUSED) {
stream_port = TLS_TEST_PORT;
stream_use_TLS = true;
stream = true;
#include <tests/isc.h>
static void
-stop_listening(void *arg __attribute__((__unused__))) {
+stop_listening(void *arg ISC_ATTR_UNUSED) {
isc_nm_stoplistening(listen_sock);
isc_nmsocket_close(&listen_sock);
assert_null(listen_sock);
ISC_TEST_LIST_END
static int
-tlsdns_setup(void **state __attribute__((__unused__))) {
+tlsdns_setup(void **state ISC_ATTR_UNUSED) {
stream_port = TLSDNS_TEST_PORT;
return (0);
}
static void
-stop_listening(void *arg __attribute__((__unused__))) {
+stop_listening(void *arg ISC_ATTR_UNUSED) {
isc_nm_stoplistening(listen_sock);
isc_nmsocket_close(&listen_sock);
assert_null(listen_sock);
}
static void
-udp_connect_udpconnect(void *arg __attribute__((__unused__))) {
+udp_connect_udpconnect(void *arg ISC_ATTR_UNUSED) {
isc_nm_udpconnect(netmgr, &udp_connect_addr, &udp_listen_addr,
udp_shutdown_connect_connect_cb, NULL, T_SOFT);
}
static void
udp__connect_cb(isc_nmhandle_t *handle, isc_result_t eresult, void *cbarg);
static void
-udp__connect(void *arg __attribute__((__unused__))) {
+udp__connect(void *arg ISC_ATTR_UNUSED) {
isc_sockaddr_t connect_addr;
connect_addr = (isc_sockaddr_t){ .length = 0 };
#include <unistd.h>
#include <isc/atomic.h>
+#include <isc/util.h>
#define UNIT_TESTING
#include <cmocka.h>
return (atomic_load(&__state_uv_udp_bind));
}
-static atomic_int __state_uv_udp_connect __attribute__((unused)) = 0;
+static atomic_int __state_uv_udp_connect ISC_ATTR_UNUSED = 0;
int
__wrap_uv_udp_connect(uv_udp_t *handle, const struct sockaddr *addr) {
return (atomic_load(&__state_uv_udp_connect));
}
-static atomic_int __state_uv_udp_getpeername __attribute__((unused)) = 0;
+static atomic_int __state_uv_udp_getpeername ISC_ATTR_UNUSED = 0;
int
__wrap_uv_udp_getpeername(const uv_udp_t *handle, struct sockaddr *name,
}
int
-setup_mctx(void **state __attribute__((__unused__))) {
+setup_mctx(void **state ISC_ATTR_UNUSED) {
isc_mem_debugging |= ISC_MEM_DEBUGRECORD;
isc_mem_create(&mctx);
}
int
-teardown_mctx(void **state __attribute__((__unused__))) {
+teardown_mctx(void **state ISC_ATTR_UNUSED) {
isc_mem_destroy(&mctx);
return (0);
}
int
-setup_loopmgr(void **state __attribute__((__unused__))) {
+setup_loopmgr(void **state ISC_ATTR_UNUSED) {
char *env_workers = NULL;
REQUIRE(mctx != NULL);
}
int
-teardown_loopmgr(void **state __attribute__((__unused__))) {
+teardown_loopmgr(void **state ISC_ATTR_UNUSED) {
REQUIRE(netmgr == NULL);
mainloop = NULL;
}
int
-setup_netmgr(void **state __attribute__((__unused__))) {
+setup_netmgr(void **state ISC_ATTR_UNUSED) {
REQUIRE(loopmgr != NULL);
adjustnofile();
}
int
-teardown_netmgr(void **state __attribute__((__unused__))) {
+teardown_netmgr(void **state ISC_ATTR_UNUSED) {
REQUIRE(loopmgr != NULL);
isc_netmgr_destroy(&netmgr);
}
void
-shutdown_interfacemgr(void *arg __attribute__((__unused__))) {
+shutdown_interfacemgr(void *arg ISC_ATTR_UNUSED) {
if (interfacemgr != NULL) {
ns_interfacemgr_shutdown(interfacemgr);
ns_interfacemgr_detach(&interfacemgr);
#include <ns/client.h>
#if ISC_NETMGR_TRACE
-#define FLARG \
- , const char *file __attribute__((unused)), \
- unsigned int line __attribute__((unused)), \
- const char *func __attribute__((unused))
+#define FLARG \
+ , const char *file ISC_ATTR_UNUSED, unsigned int line ISC_ATTR_UNUSED, \
+ const char *func ISC_ATTR_UNUSED
#else
#define FLARG
#endif