mirror of
https://github.com/isc-projects/bind9.git
synced 2026-06-09 03:52:04 -04:00
chg: dev: use only c23 or c11 noreturn specifiers
Use `[[noreturn]]` when compiling with C23 or greater. The attribute macro name has been capitalized as `NORETURN` as defining it as `noreturn` breaks external headers. `#define noreturn __attribute__((noreturn))` wasn't used as C11's `stdnoreturn.h`/`_Noreturn` is required to build BIND9 in the first place. Merge branch 'aydin/noreturn-c23' into 'main' See merge request isc-projects/bind9!9149
This commit is contained in:
commit
cd92a145a3
34 changed files with 40 additions and 51 deletions
|
|
@ -54,7 +54,7 @@ isc_log_t *logc = NULL;
|
|||
} while (0)
|
||||
|
||||
/*% usage */
|
||||
noreturn static void
|
||||
ISC_NORETURN static void
|
||||
usage(void);
|
||||
|
||||
static void
|
||||
|
|
|
|||
|
|
@ -62,7 +62,7 @@ static enum { progmode_check, progmode_compile } progmode;
|
|||
} \
|
||||
} while (0)
|
||||
|
||||
noreturn static void
|
||||
ISC_NORETURN static void
|
||||
usage(void);
|
||||
|
||||
static void
|
||||
|
|
|
|||
|
|
@ -60,7 +60,7 @@ bool verbose = false;
|
|||
|
||||
const char *keyfile, *keydef;
|
||||
|
||||
noreturn static void
|
||||
ISC_NORETURN static void
|
||||
usage(int status);
|
||||
|
||||
static void
|
||||
|
|
|
|||
|
|
@ -53,7 +53,7 @@ const char *progname;
|
|||
static enum { progmode_keygen, progmode_confgen } progmode;
|
||||
bool verbose = false; /* needed by util.c but not used here */
|
||||
|
||||
noreturn static void
|
||||
ISC_NORETURN static void
|
||||
usage(int status);
|
||||
|
||||
static void
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@ ISC_LANG_BEGINDECLS
|
|||
void
|
||||
notify(const char *fmt, ...) ISC_FORMAT_PRINTF(1, 2);
|
||||
|
||||
noreturn void
|
||||
ISC_NORETURN void
|
||||
fatal(const char *format, ...) ISC_FORMAT_PRINTF(1, 2);
|
||||
|
||||
ISC_LANG_ENDDECLS
|
||||
|
|
|
|||
|
|
@ -250,7 +250,7 @@ usage(void) {
|
|||
exit(EXIT_FAILURE);
|
||||
}
|
||||
|
||||
noreturn static void
|
||||
ISC_NORETURN static void
|
||||
fatal(const char *format, ...) ISC_FORMAT_PRINTF(1, 2);
|
||||
|
||||
static void
|
||||
|
|
|
|||
|
|
@ -111,7 +111,7 @@ usage(void) {
|
|||
fprintf(stderr, "Press <Help> for complete list of options\n");
|
||||
}
|
||||
#else /* if TARGET_OS_IPHONE */
|
||||
noreturn static void
|
||||
ISC_NORETURN static void
|
||||
usage(void);
|
||||
|
||||
static void
|
||||
|
|
|
|||
|
|
@ -293,13 +293,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);
|
||||
|
||||
noreturn void
|
||||
ISC_NORETURN void
|
||||
fatal(const char *format, ...) ISC_FORMAT_PRINTF(1, 2);
|
||||
|
||||
void
|
||||
warn(const char *format, ...) ISC_FORMAT_PRINTF(1, 2);
|
||||
|
||||
noreturn void
|
||||
ISC_NORETURN void
|
||||
digexit(void);
|
||||
|
||||
void
|
||||
|
|
|
|||
|
|
@ -99,7 +99,7 @@ rcode_totext(dns_rcode_t rcode) {
|
|||
return (totext.deconsttext);
|
||||
}
|
||||
|
||||
noreturn static void
|
||||
ISC_NORETURN static void
|
||||
show_usage(void);
|
||||
|
||||
static void
|
||||
|
|
|
|||
|
|
@ -836,7 +836,7 @@ fgets_next_command(void *arg) {
|
|||
cmdline = fgets(cmdlinebuf, COMMSIZE, stdin);
|
||||
}
|
||||
|
||||
noreturn static void
|
||||
ISC_NORETURN static void
|
||||
usage(void);
|
||||
|
||||
static void
|
||||
|
|
|
|||
|
|
@ -1028,7 +1028,7 @@ nsdiff(uint32_t ttl, dns_rdataset_t *oldset, dns_rdataset_t *newset) {
|
|||
}
|
||||
}
|
||||
|
||||
noreturn static void
|
||||
ISC_NORETURN static void
|
||||
usage(void);
|
||||
|
||||
static void
|
||||
|
|
|
|||
|
|
@ -324,7 +324,7 @@ emits(bool showall, bool cds, dns_rdata_t *rdata) {
|
|||
}
|
||||
}
|
||||
|
||||
noreturn static void
|
||||
ISC_NORETURN static void
|
||||
usage(void);
|
||||
|
||||
static void
|
||||
|
|
|
|||
|
|
@ -262,7 +262,7 @@ emit(const char *dir, dns_rdata_t *rdata) {
|
|||
dst_key_free(&key);
|
||||
}
|
||||
|
||||
noreturn static void
|
||||
ISC_NORETURN static void
|
||||
usage(void);
|
||||
|
||||
static void
|
||||
|
|
|
|||
|
|
@ -43,7 +43,7 @@
|
|||
|
||||
const char *program = "dnssec-keyfromlabel";
|
||||
|
||||
noreturn static void
|
||||
ISC_NORETURN static void
|
||||
usage(void);
|
||||
|
||||
static void
|
||||
|
|
|
|||
|
|
@ -74,7 +74,7 @@ static int min_dh = 128;
|
|||
|
||||
isc_log_t *lctx = NULL;
|
||||
|
||||
noreturn static void
|
||||
ISC_NORETURN static void
|
||||
usage(void);
|
||||
|
||||
static void
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ const char *program = "dnssec-revoke";
|
|||
|
||||
static isc_mem_t *mctx = NULL;
|
||||
|
||||
noreturn static void
|
||||
ISC_NORETURN static void
|
||||
usage(void);
|
||||
|
||||
static void
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@ const char *program = "dnssec-settime";
|
|||
|
||||
static isc_mem_t *mctx = NULL;
|
||||
|
||||
noreturn static void
|
||||
ISC_NORETURN static void
|
||||
usage(void);
|
||||
|
||||
static void
|
||||
|
|
|
|||
|
|
@ -3201,7 +3201,7 @@ print_version(FILE *fp) {
|
|||
fprintf(fp, "; %s version %s\n", program, PACKAGE_VERSION);
|
||||
}
|
||||
|
||||
noreturn static void
|
||||
ISC_NORETURN static void
|
||||
usage(void);
|
||||
|
||||
static void
|
||||
|
|
|
|||
|
|
@ -136,7 +136,7 @@ loadzone(char *file, char *origin, dns_rdataclass_t rdclass, dns_db_t **db) {
|
|||
}
|
||||
}
|
||||
|
||||
noreturn static void
|
||||
ISC_NORETURN static void
|
||||
usage(void);
|
||||
|
||||
static void
|
||||
|
|
|
|||
|
|
@ -54,7 +54,7 @@ extern uint8_t dtype[8];
|
|||
|
||||
typedef void(fatalcallback_t)(void);
|
||||
|
||||
noreturn void
|
||||
ISC_NORETURN void
|
||||
fatal(const char *format, ...) ISC_FORMAT_PRINTF(1, 2);
|
||||
|
||||
void
|
||||
|
|
@ -66,7 +66,7 @@ check_result(isc_result_t result, const char *message);
|
|||
void
|
||||
vbprintf(int level, const char *fmt, ...) ISC_FORMAT_PRINTF(2, 3);
|
||||
|
||||
noreturn void
|
||||
ISC_NORETURN void
|
||||
version(const char *program);
|
||||
|
||||
void
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@
|
|||
*/
|
||||
#define NAMED_MAIN_ARGS "46A:c:Cd:D:E:fFgL:M:m:n:N:p:sS:t:T:U:u:vVx:X:"
|
||||
|
||||
noreturn void
|
||||
ISC_NORETURN void
|
||||
named_main_earlyfatal(const char *format, ...) ISC_FORMAT_PRINTF(1, 2);
|
||||
|
||||
void
|
||||
|
|
|
|||
|
|
@ -197,7 +197,7 @@ named_main_earlyfatal(const char *format, ...) {
|
|||
_exit(EXIT_FAILURE);
|
||||
}
|
||||
|
||||
noreturn static void
|
||||
ISC_NORETURN static void
|
||||
assertion_failed(const char *file, int line, isc_assertiontype_t type,
|
||||
const char *cond);
|
||||
|
||||
|
|
@ -236,7 +236,7 @@ assertion_failed(const char *file, int line, isc_assertiontype_t type,
|
|||
_exit(EXIT_FAILURE);
|
||||
}
|
||||
|
||||
noreturn static void
|
||||
ISC_NORETURN static void
|
||||
library_fatal_error(const char *file, int line, const char *func,
|
||||
const char *format, va_list args) ISC_FORMAT_PRINTF(3, 0);
|
||||
|
||||
|
|
|
|||
|
|
@ -426,7 +426,7 @@ const char *empty_zones[] = {
|
|||
NULL
|
||||
};
|
||||
|
||||
noreturn static void
|
||||
ISC_NORETURN static void
|
||||
fatal(const char *msg, isc_result_t result);
|
||||
|
||||
static void
|
||||
|
|
|
|||
|
|
@ -198,7 +198,7 @@ send_update(dns_name_t *zonename, isc_sockaddr_t *primary);
|
|||
static void
|
||||
getinput(void *arg);
|
||||
|
||||
noreturn static void
|
||||
ISC_NORETURN static void
|
||||
fatal(const char *format, ...) ISC_FORMAT_PRINTF(1, 2);
|
||||
|
||||
static void
|
||||
|
|
|
|||
|
|
@ -87,7 +87,7 @@ static int32_t timeout = RNDC_TIMEOUT;
|
|||
static void
|
||||
rndc_startconnect(isc_sockaddr_t *addr);
|
||||
|
||||
noreturn static void
|
||||
ISC_NORETURN static void
|
||||
usage(int status);
|
||||
|
||||
static void
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@ ISC_LANG_BEGINDECLS
|
|||
void
|
||||
notify(const char *fmt, ...) ISC_FORMAT_PRINTF(1, 2);
|
||||
|
||||
noreturn void
|
||||
ISC_NORETURN void
|
||||
fatal(const char *format, ...) ISC_FORMAT_PRINTF(1, 2);
|
||||
|
||||
ISC_LANG_ENDDECLS
|
||||
|
|
|
|||
|
|
@ -72,7 +72,7 @@ const char *program = "dnstap-read";
|
|||
} \
|
||||
} while (0)
|
||||
|
||||
noreturn static void
|
||||
ISC_NORETURN static void
|
||||
fatal(const char *format, ...);
|
||||
|
||||
static void
|
||||
|
|
|
|||
|
|
@ -775,7 +775,7 @@ sendqueries(void *arg) {
|
|||
}
|
||||
}
|
||||
|
||||
noreturn static void
|
||||
ISC_NORETURN static void
|
||||
usage(void);
|
||||
|
||||
static void
|
||||
|
|
@ -883,7 +883,7 @@ help(void) {
|
|||
"Server ID)\n");
|
||||
}
|
||||
|
||||
noreturn static void
|
||||
ISC_NORETURN static void
|
||||
fatal(const char *format, ...) ISC_FORMAT_PRINTF(1, 2);
|
||||
|
||||
static void
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ static isc_lex_t *lex;
|
|||
|
||||
static isc_lexspecials_t specials;
|
||||
|
||||
noreturn static void
|
||||
ISC_NORETURN static void
|
||||
usage(void);
|
||||
|
||||
static void
|
||||
|
|
@ -63,7 +63,7 @@ cleanup(void) {
|
|||
}
|
||||
}
|
||||
|
||||
noreturn static void
|
||||
ISC_NORETURN static void
|
||||
fatal(const char *format, ...);
|
||||
|
||||
static void
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@
|
|||
|
||||
const char *program = "nsec3hash";
|
||||
|
||||
noreturn static void
|
||||
ISC_NORETURN static void
|
||||
fatal(const char *format, ...);
|
||||
|
||||
static void
|
||||
|
|
|
|||
|
|
@ -388,10 +388,6 @@ AC_COMPILE_IFELSE(
|
|||
],
|
||||
[AC_MSG_FAILURE([stdatomic.h header found, but compilation failed, please fix your toolchain.])])
|
||||
|
||||
AC_CHECK_HEADERS([stdnoreturn.h],
|
||||
[],
|
||||
[AC_MSG_ERROR([C11 standard headers not found, update your toolchain.])])
|
||||
|
||||
AC_C_CONST
|
||||
AC_C_INLINE
|
||||
AC_C_VOLATILE
|
||||
|
|
@ -458,11 +454,6 @@ AC_COMPILE_IFELSE(
|
|||
AC_MSG_WARN([uname is not correctly supported])
|
||||
])
|
||||
|
||||
#
|
||||
# check for GCC noreturn attribute
|
||||
#
|
||||
AX_GCC_FUNC_ATTRIBUTE([noreturn])
|
||||
|
||||
#
|
||||
# check for GCC malloc attribute
|
||||
#
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@ typedef void (*isc_assertioncallback_t)(const char *, int, isc_assertiontype_t,
|
|||
const char *);
|
||||
|
||||
/* coverity[+kill] */
|
||||
noreturn void
|
||||
ISC_NORETURN void
|
||||
isc_assertion_failed(const char *, int, isc_assertiontype_t, const char *);
|
||||
|
||||
void isc_assertion_setcallback(isc_assertioncallback_t);
|
||||
|
|
|
|||
|
|
@ -21,12 +21,10 @@
|
|||
#define __has_c_attribute(x) 0
|
||||
#endif /* if !defined(__has_c_attribute) */
|
||||
|
||||
#ifdef HAVE_STDNORETURN_H
|
||||
#include <stdnoreturn.h>
|
||||
#elif HAVE_FUNC_ATTRIBUTE_NORETURN
|
||||
#define noreturn __attribute__((noreturn))
|
||||
#if __has_c_attribute(noreturn) && __STDC_VERSION__ >= 202311L
|
||||
#define ISC_NORETURN [[noreturn]]
|
||||
#else
|
||||
#define noreturn
|
||||
#define ISC_NORETURN _Noreturn
|
||||
#endif
|
||||
|
||||
#if HAVE_FUNC_ATTRIBUTE_RETURNS_NONNULL
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ isc_error_unexpected(const char *, int, const char *, const char *, ...)
|
|||
ISC_FORMAT_PRINTF(4, 5);
|
||||
|
||||
/*% fatal error */
|
||||
noreturn void
|
||||
ISC_NORETURN void
|
||||
isc_error_fatal(const char *, int, const char *, const char *, ...)
|
||||
ISC_FORMAT_PRINTF(4, 5);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue