Replace ISC_NORETURN with C11's noreturn

C11 has builtin support for _Noreturn function specifier with
convenience noreturn macro defined in <stdnoreturn.h> header.

Replace ISC_NORETURN macro by C11 noreturn with fallback to
__attribute__((noreturn)) if the C11 support is not complete.
This commit is contained in:
Ondřej Surý 2021-10-11 12:57:27 +02:00 committed by Ondřej Surý
parent 584f0d7a7e
commit 04d0b70ba2
36 changed files with 46 additions and 45 deletions

View file

@ -58,7 +58,7 @@ isc_log_t *logc = NULL;
} while (0)
/*% usage */
ISC_NORETURN static void
noreturn static void
usage(void);
static void

View file

@ -65,7 +65,7 @@ static enum { progmode_check, progmode_compile } progmode;
} \
} while (0)
ISC_NORETURN static void
noreturn static void
usage(void);
static void

View file

@ -61,7 +61,7 @@ bool verbose = false;
const char *keyfile, *keydef;
ISC_NORETURN static void
noreturn static void
usage(int status);
static void

View file

@ -54,7 +54,7 @@ const char *progname;
static enum { progmode_keygen, progmode_confgen } progmode;
bool verbose = false; /* needed by util.c but not used here */
ISC_NORETURN static void
noreturn static void
usage(int status);
static void

View file

@ -36,7 +36,7 @@ ISC_LANG_BEGINDECLS
void
notify(const char *fmt, ...) ISC_FORMAT_PRINTF(1, 2);
ISC_NORETURN void
noreturn void
fatal(const char *format, ...) ISC_FORMAT_PRINTF(1, 2);
ISC_LANG_ENDDECLS

View file

@ -208,7 +208,7 @@ usage(void) {
exit(1);
}
ISC_NORETURN static void
noreturn static void
fatal(const char *format, ...) ISC_FORMAT_PRINTF(1, 2);
static void

View file

@ -113,7 +113,7 @@ usage(void) {
fprintf(stderr, "Press <Help> for complete list of options\n");
}
#else /* if TARGET_OS_IPHONE */
ISC_NORETURN static void
noreturn static void
usage(void);
static void

View file

@ -276,13 +276,13 @@ getaddresses(dig_lookup_t *lookup, const char *host, isc_result_t *resultp);
isc_result_t
get_reverse(char *reverse, size_t len, char *value, bool strict);
ISC_NORETURN void
noreturn void
fatal(const char *format, ...) ISC_FORMAT_PRINTF(1, 2);
void
warn(const char *format, ...) ISC_FORMAT_PRINTF(1, 2);
ISC_NORETURN void
noreturn void
digexit(void);
void

View file

@ -101,7 +101,7 @@ rcode_totext(dns_rcode_t rcode) {
return (totext.deconsttext);
}
ISC_NORETURN static void
noreturn static void
show_usage(void);
static void

View file

@ -849,7 +849,7 @@ get_next_command(void) {
}
}
ISC_NORETURN static void
noreturn static void
usage(void);
static void

View file

@ -1015,7 +1015,7 @@ nsdiff(uint32_t ttl, dns_rdataset_t *oldset, dns_rdataset_t *newset) {
}
}
ISC_NORETURN static void
noreturn static void
usage(void);
static void

View file

@ -324,7 +324,7 @@ emits(bool showall, bool cds, dns_rdata_t *rdata) {
}
}
ISC_NORETURN static void
noreturn static void
usage(void);
static void

View file

@ -263,7 +263,7 @@ emit(const char *dir, dns_rdata_t *rdata) {
dst_key_free(&key);
}
ISC_NORETURN static void
noreturn static void
usage(void);
static void

View file

@ -44,7 +44,7 @@
const char *program = "dnssec-keyfromlabel";
ISC_NORETURN static void
noreturn static void
usage(void);
static void

View file

@ -67,7 +67,7 @@ const char *program = "dnssec-keygen";
isc_log_t *lctx = NULL;
ISC_NORETURN static void
noreturn static void
usage(void);
static void

View file

@ -39,7 +39,7 @@ const char *program = "dnssec-revoke";
static isc_mem_t *mctx = NULL;
ISC_NORETURN static void
noreturn static void
usage(void);
static void

View file

@ -43,7 +43,7 @@ const char *program = "dnssec-settime";
static isc_mem_t *mctx = NULL;
ISC_NORETURN static void
noreturn static void
usage(void);
static void

View file

@ -3192,7 +3192,7 @@ print_version(FILE *fp) {
fprintf(fp, "; %s version %s\n", program, PACKAGE_VERSION);
}
ISC_NORETURN static void
noreturn static void
usage(void);
static void

View file

@ -139,7 +139,7 @@ loadzone(char *file, char *origin, dns_rdataclass_t rdclass, dns_db_t **db) {
}
}
ISC_NORETURN static void
noreturn static void
usage(void);
static void

View file

@ -46,7 +46,7 @@ extern uint8_t dtype[8];
typedef void(fatalcallback_t)(void);
ISC_NORETURN void
noreturn void
fatal(const char *format, ...) ISC_FORMAT_PRINTF(1, 2);
void
@ -58,7 +58,7 @@ check_result(isc_result_t result, const char *message);
void
vbprintf(int level, const char *fmt, ...) ISC_FORMAT_PRINTF(2, 3);
ISC_NORETURN void
noreturn void
version(const char *program);
void

View file

@ -26,7 +26,7 @@
*/
#define NAMED_MAIN_ARGS "46A:c:d:D:E:fFgL:M:m:n:N:p:sS:t:T:U:u:vVx:X:"
ISC_NORETURN void
noreturn void
named_main_earlyfatal(const char *format, ...) ISC_FORMAT_PRINTF(1, 2);
void

View file

@ -185,7 +185,7 @@ named_main_earlyfatal(const char *format, ...) {
exit(1);
}
ISC_NORETURN static void
noreturn static void
assertion_failed(const char *file, int line, isc_assertiontype_t type,
const char *cond);
@ -239,7 +239,7 @@ assertion_failed(const char *file, int line, isc_assertiontype_t type,
exit(1);
}
ISC_NORETURN static void
noreturn static void
library_fatal_error(const char *file, int line, const char *format,
va_list args) ISC_FORMAT_PRINTF(3, 0);

View file

@ -397,7 +397,7 @@ const char *empty_zones[] = {
NULL
};
ISC_NORETURN static void
noreturn static void
fatal(named_server_t *server, const char *msg, isc_result_t result);
static void

View file

@ -187,7 +187,7 @@ sendrequest(isc_sockaddr_t *destaddr, dns_message_t *msg,
static void
send_update(dns_name_t *zonename, isc_sockaddr_t *primary);
ISC_NORETURN static void
noreturn static void
fatal(const char *format, ...) ISC_FORMAT_PRINTF(1, 2);
static void

View file

@ -96,7 +96,7 @@ static isc_nmhandle_t *recvnonce_handle = NULL;
static void
rndc_startconnect(isc_sockaddr_t *addr);
ISC_NORETURN static void
noreturn static void
usage(int status);
static void

View file

@ -36,7 +36,7 @@ ISC_LANG_BEGINDECLS
void
notify(const char *fmt, ...) ISC_FORMAT_PRINTF(1, 2);
ISC_NORETURN void
noreturn void
fatal(const char *format, ...) ISC_FORMAT_PRINTF(1, 2);
ISC_LANG_ENDDECLS

View file

@ -127,7 +127,7 @@ printdata(dns_rdataset_t *rdataset, dns_name_t *owner) {
return (ISC_R_SUCCESS);
}
ISC_NORETURN static void
noreturn static void
usage(void);
static void

View file

@ -71,7 +71,7 @@ const char *program = "dnstap-read";
} \
} while (0)
ISC_NORETURN static void
noreturn static void
fatal(const char *format, ...);
static void

View file

@ -783,7 +783,7 @@ sendqueries(isc_task_t *task, isc_event_t *event) {
return;
}
ISC_NORETURN static void
noreturn static void
usage(void);
static void
@ -894,7 +894,7 @@ help(void) {
"Server ID)\n");
}
ISC_NORETURN static void
noreturn static void
fatal(const char *format, ...) ISC_FORMAT_PRINTF(1, 2);
static void

View file

@ -35,7 +35,7 @@ static isc_lex_t *lex;
static isc_lexspecials_t specials;
ISC_NORETURN static void
noreturn static void
usage(void);
static void
@ -52,7 +52,7 @@ usage(void) {
exit(0);
}
ISC_NORETURN static void
noreturn static void
fatal(const char *format, ...);
static void

View file

@ -35,7 +35,7 @@
const char *program = "nsec3hash";
ISC_NORETURN static void
noreturn static void
fatal(const char *format, ...);
static void

View file

@ -1149,7 +1149,7 @@ AC_CHECK_HEADERS(
])
LIBS="$LIBS $ISC_ATOMIC_LIBS"
AC_CHECK_HEADERS([stdalign.h])
AC_CHECK_HEADERS([stdalign.h stdnoreturn.h])
AC_CHECK_HEADERS([uchar.h])

View file

@ -33,8 +33,7 @@ typedef void (*isc_assertioncallback_t)(const char *, int, isc_assertiontype_t,
const char *);
/* coverity[+kill] */
ISC_NORETURN
void
noreturn void
isc_assertion_failed(const char *, int, isc_assertiontype_t, const char *);
void isc_assertion_setcallback(isc_assertioncallback_t);

View file

@ -13,10 +13,12 @@
#pragma once
#if HAVE_FUNC_ATTRIBUTE_NORETURN
#define ISC_NORETURN __attribute__((noreturn))
#ifdef HAVE_STDNORETURN_H
#include <stdnoreturn.h>
#elif HAVE_FUNC_ATTRIBUTE_NORETURN
#define noreturn __attribute__((noreturn))
#else
#define ISC_NORETURN
#define noreturn
#endif
#if HAVE_FUNC_ATTRIBUTE_RETURNS_NONNULL

View file

@ -37,11 +37,11 @@ isc_error_unexpected(const char *, int, const char *, ...)
ISC_FORMAT_PRINTF(3, 4);
/*% fatal error */
ISC_NORETURN void
noreturn void
isc_error_fatal(const char *, int, const char *, ...) ISC_FORMAT_PRINTF(3, 4);
/*% runtimecheck error */
ISC_NORETURN void
noreturn void
isc_error_runtimecheck(const char *, int, const char *);
#define ISC_ERROR_RUNTIMECHECK(cond) \

View file

@ -32,7 +32,7 @@
#include <isc/types.h>
#include <isc/util.h>
ISC_NORETURN void
noreturn void
_fail(const char *const file, const int line);
#include <ns/hooks.h>