commit d6da328: [Minor] Enable missing_noreturn compiler warning

Christian Göttsche cgzones at googlemail.com
Tue Apr 14 09:56:11 UTC 2020


Author: Christian Göttsche
Date: 2020-04-06 16:27:39 +0200
URL: https://github.com/rspamd/rspamd/commit/d6da3282ea865b8c39fab3e7026296fa922e1a64

[Minor] Enable missing_noreturn compiler warning

---
 cmake/CompilerWarnings.cmake       | 4 ++++
 contrib/snowball/compiler/driver.c | 1 +
 src/controller.c                   | 1 +
 src/fuzzy_storage.c                | 1 +
 src/libcryptobox/cryptobox.c       | 1 +
 src/rspamadm/configdump.c          | 1 +
 src/rspamadm/confighelp.c          | 1 +
 src/rspamd_proxy.c                 | 1 +
 src/worker.c                       | 1 +
 9 files changed, 12 insertions(+)

diff --git a/cmake/CompilerWarnings.cmake b/cmake/CompilerWarnings.cmake
index 4dd011d98..2dcad92ef 100644
--- a/cmake/CompilerWarnings.cmake
+++ b/cmake/CompilerWarnings.cmake
@@ -10,6 +10,7 @@ CHECK_C_COMPILER_FLAG(-Wno-sign-compare SUPPORT_WSIGN_COMPARE)
 CHECK_C_COMPILER_FLAG(-Wstrict-prototypes SUPPORT_WSTRICT_PROTOTYPES)
 CHECK_C_COMPILER_FLAG(-pedantic SUPPORT_PEDANTIC_FLAG)
 CHECK_C_COMPILER_FLAG(-Wno-unused-const-variable SUPPORT_WNO_UNUSED_CONST)
+CHECK_C_COMPILER_FLAG(-Wmissing-noreturn SUPPORT_WMISSING_NORETURN)
 # GCC 6 specific
 CHECK_C_COMPILER_FLAG(-Wnull-dereference SUPPORT_WNULL_DEREFERENCE)
 CHECK_C_COMPILER_FLAG(-Wduplicated-cond SUPPORT_WDUPLICATED_COND)
@@ -67,6 +68,9 @@ ENDIF()
 IF(SUPPORT_WIMPLICIT_FALLTHROUGH)
     ADD_COMPILE_OPTIONS("-Wno-implicit-fallthrough")
 ENDIF(SUPPORT_WIMPLICIT_FALLTHROUGH)
+IF(SUPPORT_WMISSING_NORETURN)
+    ADD_COMPILE_OPTIONS("-Wmissing-noreturn")
+ENDIF(SUPPORT_WMISSING_NORETURN)
 
 CHECK_C_COMPILER_FLAG(-fPIC SUPPORT_FPIC)
 IF(SUPPORT_FPIC)
diff --git a/contrib/snowball/compiler/driver.c b/contrib/snowball/compiler/driver.c
index 9cbe447a5..587028fa4 100644
--- a/contrib/snowball/compiler/driver.c
+++ b/contrib/snowball/compiler/driver.c
@@ -25,6 +25,7 @@ static int eq(const char * s1, const char * s2) {
     return strcmp(s1, s2) == 0;
 }
 
+__attribute__((noreturn))
 static void print_arglist(int exit_code) {
     FILE * f = exit_code ? stderr : stdout;
     fprintf(f, "Usage: snowball SOURCE_FILE... [OPTIONS]\n\n"
diff --git a/src/controller.c b/src/controller.c
index cfea10971..4ed3f187c 100644
--- a/src/controller.c
+++ b/src/controller.c
@@ -3477,6 +3477,7 @@ rspamd_controller_register_plugins_paths (struct rspamd_controller_worker_ctx *c
 /*
  * Start worker process
  */
+__attribute__((noreturn))
 void
 start_controller_worker (struct rspamd_worker *worker)
 {
diff --git a/src/fuzzy_storage.c b/src/fuzzy_storage.c
index b6d7d8ee7..5eb403ce7 100644
--- a/src/fuzzy_storage.c
+++ b/src/fuzzy_storage.c
@@ -2120,6 +2120,7 @@ fuzzy_peer_rep (struct rspamd_worker *worker,
 /*
  * Start worker process
  */
+__attribute__((noreturn))
 void
 start_fuzzy (struct rspamd_worker *worker)
 {
diff --git a/src/libcryptobox/cryptobox.c b/src/libcryptobox/cryptobox.c
index 414dbdfa1..4ef366b33 100644
--- a/src/libcryptobox/cryptobox.c
+++ b/src/libcryptobox/cryptobox.c
@@ -93,6 +93,7 @@ rspamd_cryptobox_cpuid (gint cpu[4], gint info)
 static sig_atomic_t ok = 0;
 static jmp_buf j;
 
+__attribute__((noreturn))
 static void
 rspamd_cryptobox_ill_handler (int signo)
 {
diff --git a/src/rspamadm/configdump.c b/src/rspamadm/configdump.c
index 90f751487..bbdb58c17 100644
--- a/src/rspamadm/configdump.c
+++ b/src/rspamadm/configdump.c
@@ -230,6 +230,7 @@ rspamadm_dump_section_obj (struct rspamd_config *cfg,
 	}
 }
 
+__attribute__((noreturn))
 static void
 rspamadm_configdump (gint argc, gchar **argv, const struct rspamadm_command *cmd)
 {
diff --git a/src/rspamadm/confighelp.c b/src/rspamadm/confighelp.c
index f5695ed53..c40891216 100644
--- a/src/rspamadm/confighelp.c
+++ b/src/rspamadm/confighelp.c
@@ -190,6 +190,7 @@ rspamadm_confighelp_search_word (const ucl_object_t *obj, const gchar *str)
 	return res;
 }
 
+__attribute__((noreturn))
 static void
 rspamadm_confighelp (gint argc, gchar **argv, const struct rspamadm_command *cmd)
 {
diff --git a/src/rspamd_proxy.c b/src/rspamd_proxy.c
index ffcbf5824..83ae3785c 100644
--- a/src/rspamd_proxy.c
+++ b/src/rspamd_proxy.c
@@ -2282,6 +2282,7 @@ adjust_upstreams_limits (struct rspamd_proxy_ctx *ctx)
 	}
 }
 
+__attribute__((noreturn))
 void
 start_rspamd_proxy (struct rspamd_worker *worker)
 {
diff --git a/src/worker.c b/src/worker.c
index ad7f12674..1a3b118c8 100644
--- a/src/worker.c
+++ b/src/worker.c
@@ -477,6 +477,7 @@ init_worker (struct rspamd_config *cfg)
 /*
  * Start worker process
  */
+__attribute__((noreturn))
 void
 start_worker (struct rspamd_worker *worker)
 {


More information about the Commits mailing list