} while (0)
/*% usage */
-noreturn static void
+ISC_NORETURN static void
usage(void);
static void
} \
} while (0)
-noreturn static void
+ISC_NORETURN static void
usage(void);
static void
const char *keyfile, *keydef;
-noreturn static void
+ISC_NORETURN static void
usage(int status);
static void
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
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
exit(EXIT_FAILURE);
}
-noreturn static void
+ISC_NORETURN static void
fatal(const char *format, ...) ISC_FORMAT_PRINTF(1, 2);
static 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
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
return (totext.deconsttext);
}
-noreturn static void
+ISC_NORETURN static void
show_usage(void);
static void
cmdline = fgets(cmdlinebuf, COMMSIZE, stdin);
}
-noreturn static void
+ISC_NORETURN static void
usage(void);
static void
}
}
-noreturn static void
+ISC_NORETURN static void
usage(void);
static void
}
}
-noreturn static void
+ISC_NORETURN static void
usage(void);
static void
dst_key_free(&key);
}
-noreturn static void
+ISC_NORETURN static void
usage(void);
static void
const char *program = "dnssec-keyfromlabel";
-noreturn static void
+ISC_NORETURN static void
usage(void);
static void
isc_log_t *lctx = NULL;
-noreturn static void
+ISC_NORETURN static void
usage(void);
static void
static isc_mem_t *mctx = NULL;
-noreturn static void
+ISC_NORETURN static void
usage(void);
static void
static isc_mem_t *mctx = NULL;
-noreturn static void
+ISC_NORETURN static void
usage(void);
static void
fprintf(fp, "; %s version %s\n", program, PACKAGE_VERSION);
}
-noreturn static void
+ISC_NORETURN static void
usage(void);
static void
}
}
-noreturn static void
+ISC_NORETURN static void
usage(void);
static void
typedef void(fatalcallback_t)(void);
-noreturn void
+ISC_NORETURN void
fatal(const char *format, ...) ISC_FORMAT_PRINTF(1, 2);
void
void
vbprintf(int level, const char *fmt, ...) ISC_FORMAT_PRINTF(2, 3);
-noreturn void
+ISC_NORETURN void
version(const char *program);
void
*/
#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
_exit(EXIT_FAILURE);
}
-noreturn static void
+ISC_NORETURN static void
assertion_failed(const char *file, int line, isc_assertiontype_t type,
const char *cond);
_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);
NULL
};
-noreturn static void
+ISC_NORETURN static void
fatal(const char *msg, isc_result_t result);
static void
static void
getinput(void *arg);
-noreturn static void
+ISC_NORETURN static void
fatal(const char *format, ...) ISC_FORMAT_PRINTF(1, 2);
static void
static void
rndc_startconnect(isc_sockaddr_t *addr);
-noreturn static void
+ISC_NORETURN static void
usage(int status);
static void
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
} \
} while (0)
-noreturn static void
+ISC_NORETURN static void
fatal(const char *format, ...);
static void
}
}
-noreturn static void
+ISC_NORETURN static void
usage(void);
static void
"Server ID)\n");
}
-noreturn static void
+ISC_NORETURN static void
fatal(const char *format, ...) ISC_FORMAT_PRINTF(1, 2);
static void
static isc_lexspecials_t specials;
-noreturn static void
+ISC_NORETURN static void
usage(void);
static void
}
}
-noreturn static void
+ISC_NORETURN static void
fatal(const char *format, ...);
static void
const char *program = "nsec3hash";
-noreturn static void
+ISC_NORETURN static void
fatal(const char *format, ...);
static void
],
[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
AC_MSG_WARN([uname is not correctly supported])
])
-#
-# check for GCC noreturn attribute
-#
-AX_GCC_FUNC_ATTRIBUTE([noreturn])
-
#
# check for GCC malloc attribute
#
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);
#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
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);