chiark / gitweb /
basic/macros: rename noreturn into _noreturn_ (#8456)
authorFranck Bui <fbui@suse.com>
Thu, 15 Mar 2018 05:23:46 +0000 (06:23 +0100)
committerSven Eden <yamakuzure@gmx.net>
Thu, 28 Jun 2018 07:23:09 +0000 (09:23 +0200)
"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.

(cherry picked from commit 848e863acc51ecfb0f3955c498874588201d9130)

src/basic/log.c
src/basic/log.h
src/basic/macro.h
src/basic/process-util.c
src/basic/process-util.h
src/shared/pager.c

index 1ec3faea823de66fc367ed0c666461a480015b90..5011af39226b04ef2fda2b777402ad1326a89e63 100644 (file)
@@ -830,7 +830,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,
@@ -842,7 +842,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,
index c09e44ad5ee5ac19d7ffb6a04f9fd9624f143d2d..3a3c43edc94878fecb9bdb8f2b3498c3d222372f 100644 (file)
@@ -188,7 +188,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,
@@ -197,7 +197,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,
index 89bdd852a94bd65b088ca142e765fca89ac9a699..1c64ea195454c83be004318b0ce1ee988d637830 100644 (file)
 #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,7 @@ 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)                                         \
index d3961bfd2dc377fbb170a801a7e5c571b1d30698..81c4077c86ceee3ade6c61642073c66478c19f95 100644 (file)
@@ -996,7 +996,7 @@ bool is_main_thread(void) {
 }
 
 #if 0 /// UNNEEDED by elogind
-noreturn void freeze(void) {
+_noreturn_ void freeze(void) {
 
         log_close();
 
index 50074feb2d5df654a1eb4374e88ccb053383369c..b17aef8bd1024d32301a66ceffbc9fa0bfbda6ec 100644 (file)
@@ -98,7 +98,7 @@ int pid_from_same_root_fs(pid_t pid);
 bool is_main_thread(void);
 
 #if 0 /// UNNEEDED by elogind
-noreturn void freeze(void);
+_noreturn_ void freeze(void);
 
 bool oom_score_adjust_is_valid(int oa);
 #endif // 0
index 7a4df09df32d6d9f78a8e57bb10bfd7c0cb66877..2598c1eaa4a86d395063644dc32e9b05f451128e 100644 (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);