diff -Naur a/src/basic/log.c b/src/basic/log.c
a
|
b
|
|
814 | 814 | log_dispatch_internal(level, 0, file, line, func, NULL, NULL, NULL, NULL, buffer); |
815 | 815 | } |
816 | 816 | |
817 | | noreturn void log_assert_failed_realm( |
| 817 | _noreturn_ void log_assert_failed_realm( |
818 | 818 | LogRealm realm, |
819 | 819 | const char *text, |
820 | 820 | const char *file, |
… |
… |
|
826 | 826 | abort(); |
827 | 827 | } |
828 | 828 | |
829 | | noreturn void log_assert_failed_unreachable_realm( |
| 829 | _noreturn_ void log_assert_failed_unreachable_realm( |
830 | 830 | LogRealm realm, |
831 | 831 | const char *text, |
832 | 832 | const char *file, |
diff -Naur a/src/basic/log.h b/src/basic/log.h
a
|
b
|
|
186 | 186 | char *buffer); |
187 | 187 | |
188 | 188 | /* Logging for various assertions */ |
189 | | noreturn void log_assert_failed_realm( |
| 189 | _noreturn_ void log_assert_failed_realm( |
190 | 190 | LogRealm realm, |
191 | 191 | const char *text, |
192 | 192 | const char *file, |
… |
… |
|
195 | 195 | #define log_assert_failed(text, ...) \ |
196 | 196 | log_assert_failed_realm(LOG_REALM, (text), __VA_ARGS__) |
197 | 197 | |
198 | | noreturn void log_assert_failed_unreachable_realm( |
| 198 | _noreturn_ void log_assert_failed_unreachable_realm( |
199 | 199 | LogRealm realm, |
200 | 200 | const char *text, |
201 | 201 | const char *file, |
diff -Naur a/src/basic/macro.h b/src/basic/macro.h
a
|
b
|
|
53 | 53 | #else |
54 | 54 | #define _fallthrough_ |
55 | 55 | #endif |
| 56 | /* Define C11 noreturn without <stdnoreturn.h> and even on older gcc |
| 57 | * compiler versions */ |
| 58 | #ifndef _noreturn_ |
| 59 | #if __STDC_VERSION__ >= 201112L |
| 60 | #define _noreturn_ _Noreturn |
| 61 | #else |
| 62 | #define _noreturn_ __attribute__((noreturn)) |
| 63 | #endif |
| 64 | #endif |
56 | 65 | |
57 | 66 | /* Temporarily disable some warnings */ |
58 | 67 | #define DISABLE_WARNING_DECLARATION_AFTER_STATEMENT \ |
… |
… |
|
414 | 423 | #endif |
415 | 424 | #endif |
416 | 425 | |
417 | | /* Define C11 noreturn without <stdnoreturn.h> and even on older gcc |
418 | | * compiler versions */ |
419 | | #ifndef noreturn |
420 | | #if __STDC_VERSION__ >= 201112L |
421 | | #define noreturn _Noreturn |
422 | | #else |
423 | | #define noreturn __attribute__((noreturn)) |
424 | | #endif |
425 | | #endif |
426 | | |
427 | 426 | #define DEFINE_TRIVIAL_CLEANUP_FUNC(type, func) \ |
428 | 427 | static inline void func##p(type *p) { \ |
429 | 428 | if (*p) \ |
diff -Naur a/src/basic/process-util.c b/src/basic/process-util.c
a
|
b
|
|
987 | 987 | return cached > 0; |
988 | 988 | } |
989 | 989 | |
990 | | noreturn void freeze(void) { |
| 990 | _noreturn_ void freeze(void) { |
991 | 991 | |
992 | 992 | log_close(); |
993 | 993 | |
diff -Naur a/src/basic/process-util.h b/src/basic/process-util.h
a
|
b
|
|
91 | 91 | |
92 | 92 | bool is_main_thread(void); |
93 | 93 | |
94 | | noreturn void freeze(void); |
| 94 | _noreturn_ void freeze(void); |
95 | 95 | |
96 | 96 | bool oom_score_adjust_is_valid(int oa); |
97 | 97 | |
diff -Naur a/src/core/main.c b/src/core/main.c
a
|
b
|
|
141 | 141 | static sd_id128_t arg_machine_id = {}; |
142 | 142 | static EmergencyAction arg_cad_burst_action = EMERGENCY_ACTION_REBOOT_FORCE; |
143 | 143 | |
144 | | noreturn static void freeze_or_reboot(void) { |
| 144 | _noreturn_ static void freeze_or_reboot(void) { |
145 | 145 | |
146 | 146 | if (arg_crash_reboot) { |
147 | 147 | log_notice("Rebooting in 10s..."); |
… |
… |
|
156 | 156 | freeze(); |
157 | 157 | } |
158 | 158 | |
159 | | noreturn static void crash(int sig) { |
| 159 | _noreturn_ static void crash(int sig) { |
160 | 160 | struct sigaction sa; |
161 | 161 | pid_t pid; |
162 | 162 | |
diff -Naur a/src/journal/test-journal-interleaving.c b/src/journal/test-journal-interleaving.c
a
|
b
|
|
37 | 37 | |
38 | 38 | static bool arg_keep = false; |
39 | 39 | |
40 | | noreturn static void log_assert_errno(const char *text, int error, const char *file, int line, const char *func) { |
| 40 | _noreturn_ static void log_assert_errno(const char *text, int error, const char *file, int line, const char *func) { |
41 | 41 | log_internal(LOG_CRIT, error, file, line, func, |
42 | 42 | "'%s' failed at %s:%u (%s): %m", text, file, line, func); |
43 | 43 | abort(); |
diff -Naur a/src/shared/pager.c b/src/shared/pager.c
a
|
b
|
|
47 | 47 | static bool stdout_redirected = false; |
48 | 48 | static bool stderr_redirected = false; |
49 | 49 | |
50 | | noreturn static void pager_fallback(void) { |
| 50 | _noreturn_ static void pager_fallback(void) { |
51 | 51 | int r; |
52 | 52 | |
53 | 53 | r = copy_bytes(STDIN_FILENO, STDOUT_FILENO, (uint64_t) -1, 0); |
diff -Naur a/src/udev/collect/collect.c b/src/udev/collect/collect.c
a
|
b
|
|
58 | 58 | return container_of(node, struct _mate, node); |
59 | 59 | } |
60 | 60 | |
61 | | noreturn static void sig_alrm(int signo) |
| 61 | _noreturn_ static void sig_alrm(int signo) |
62 | 62 | { |
63 | 63 | exit(4); |
64 | 64 | } |