1
0
mirror of https://github.com/systemd/systemd.git synced 2024-10-30 23:21:22 +03:00

basic/macros: rename noreturn into _noreturn_ (#8456)

"noreturn" is reserved and can be used in other header files we include:

  [   16s] In file included from /usr/include/gcrypt.h:30:0,
  [   16s]                  from ../src/journal/journal-file.h:26,
  [   16s]                  from ../src/journal/journal-vacuum.c:31:
  [   16s] /usr/include/gpg-error.h:1544:46: error: expected ‘,’ or ‘;’ before ‘)’ token
  [   16s]  void gpgrt_log_bug (const char *fmt, ...)    GPGRT_ATTR_NR_PRINTF(1,2);

Here we include grcrypt.h (which in turns include gpg-error.h) *after* we
"noreturn" was defined in macro.h.
This commit is contained in:
Franck Bui 2018-03-15 06:23:46 +01:00 committed by Yu Watanabe
parent 3b71cf46be
commit 848e863acc
9 changed files with 20 additions and 21 deletions

View File

@ -814,7 +814,7 @@ static void log_assert(
log_dispatch_internal(level, 0, file, line, func, NULL, NULL, NULL, NULL, buffer);
}
noreturn void log_assert_failed_realm(
_noreturn_ void log_assert_failed_realm(
LogRealm realm,
const char *text,
const char *file,
@ -826,7 +826,7 @@ noreturn void log_assert_failed_realm(
abort();
}
noreturn void log_assert_failed_unreachable_realm(
_noreturn_ void log_assert_failed_unreachable_realm(
LogRealm realm,
const char *text,
const char *file,

View File

@ -186,7 +186,7 @@ int log_dump_internal(
char *buffer);
/* Logging for various assertions */
noreturn void log_assert_failed_realm(
_noreturn_ void log_assert_failed_realm(
LogRealm realm,
const char *text,
const char *file,
@ -195,7 +195,7 @@ noreturn void log_assert_failed_realm(
#define log_assert_failed(text, ...) \
log_assert_failed_realm(LOG_REALM, (text), __VA_ARGS__)
noreturn void log_assert_failed_unreachable_realm(
_noreturn_ void log_assert_failed_unreachable_realm(
LogRealm realm,
const char *text,
const char *file,

View File

@ -53,6 +53,15 @@
#else
#define _fallthrough_
#endif
/* Define C11 noreturn without <stdnoreturn.h> and even on older gcc
* compiler versions */
#ifndef _noreturn_
#if __STDC_VERSION__ >= 201112L
#define _noreturn_ _Noreturn
#else
#define _noreturn_ __attribute__((noreturn))
#endif
#endif
/* Temporarily disable some warnings */
#define DISABLE_WARNING_DECLARATION_AFTER_STATEMENT \
@ -414,16 +423,6 @@ static inline unsigned long ALIGN_POWER2(unsigned long u) {
#endif
#endif
/* Define C11 noreturn without <stdnoreturn.h> and even on older gcc
* compiler versions */
#ifndef noreturn
#if __STDC_VERSION__ >= 201112L
#define noreturn _Noreturn
#else
#define noreturn __attribute__((noreturn))
#endif
#endif
#define DEFINE_TRIVIAL_CLEANUP_FUNC(type, func) \
static inline void func##p(type *p) { \
if (*p) \

View File

@ -987,7 +987,7 @@ bool is_main_thread(void) {
return cached > 0;
}
noreturn void freeze(void) {
_noreturn_ void freeze(void) {
log_close();

View File

@ -91,7 +91,7 @@ int pid_from_same_root_fs(pid_t pid);
bool is_main_thread(void);
noreturn void freeze(void);
_noreturn_ void freeze(void);
bool oom_score_adjust_is_valid(int oa);

View File

@ -141,7 +141,7 @@ static uint64_t arg_default_tasks_max = UINT64_MAX;
static sd_id128_t arg_machine_id = {};
static EmergencyAction arg_cad_burst_action = EMERGENCY_ACTION_REBOOT_FORCE;
noreturn static void freeze_or_reboot(void) {
_noreturn_ static void freeze_or_reboot(void) {
if (arg_crash_reboot) {
log_notice("Rebooting in 10s...");
@ -156,7 +156,7 @@ noreturn static void freeze_or_reboot(void) {
freeze();
}
noreturn static void crash(int sig) {
_noreturn_ static void crash(int sig) {
struct sigaction sa;
pid_t pid;

View File

@ -37,7 +37,7 @@
static bool arg_keep = false;
noreturn static void log_assert_errno(const char *text, int error, const char *file, int line, const char *func) {
_noreturn_ static void log_assert_errno(const char *text, int error, const char *file, int line, const char *func) {
log_internal(LOG_CRIT, error, file, line, func,
"'%s' failed at %s:%u (%s): %m", text, file, line, func);
abort();

View File

@ -47,7 +47,7 @@ static int stored_stderr = -1;
static bool stdout_redirected = false;
static bool stderr_redirected = false;
noreturn static void pager_fallback(void) {
_noreturn_ static void pager_fallback(void) {
int r;
r = copy_bytes(STDIN_FILENO, STDOUT_FILENO, (uint64_t) -1, 0);

View File

@ -58,7 +58,7 @@ static inline struct _mate *node_to_mate(struct udev_list_node *node)
return container_of(node, struct _mate, node);
}
noreturn static void sig_alrm(int signo)
_noreturn_ static void sig_alrm(int signo)
{
exit(4);
}