From: Marcel Raad Date: Mon, 9 Jul 2018 16:52:05 +0000 (+0200) Subject: curl-compilers: enable -Wimplicit-fallthrough=4 for GCC X-Git-Tag: curl-7_61_1~38 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=15ed9f87e3a1f91bd7b4a5291edf268b843e5987;p=thirdparty%2Fcurl.git curl-compilers: enable -Wimplicit-fallthrough=4 for GCC This enables level 4 instead of the default level 3, which of the currently used comments only allows /* FALLTHROUGH */ to silence the warning. Closes https://github.com/curl/curl/pull/2747 --- diff --git a/lib/formdata.c b/lib/formdata.c index 450a0e5d8e..202d930c70 100644 --- a/lib/formdata.c +++ b/lib/formdata.c @@ -302,7 +302,8 @@ CURLFORMcode FormAdd(struct curl_httppost **httppost, * Set the contents property. */ case CURLFORM_PTRCONTENTS: - current_form->flags |= HTTPPOST_PTRCONTENTS; /* fall through */ + current_form->flags |= HTTPPOST_PTRCONTENTS; + /* FALLTHROUGH */ case CURLFORM_COPYCONTENTS: if(current_form->value) return_value = CURL_FORMADD_OPTION_TWICE; diff --git a/lib/http_ntlm.c b/lib/http_ntlm.c index fd5540b5d0..a9b33f98e4 100644 --- a/lib/http_ntlm.c +++ b/lib/http_ntlm.c @@ -228,7 +228,7 @@ CURLcode Curl_output_ntlm(struct connectdata *conn, bool proxy) /* connection is already authenticated, * don't send a header in future requests */ ntlm->state = NTLMSTATE_LAST; - /* fall-through */ + /* FALLTHROUGH */ case NTLMSTATE_LAST: Curl_safefree(*allocuserpwd); authp->done = TRUE; diff --git a/lib/ssh.c b/lib/ssh.c index 98153040b7..5d81f649c1 100644 --- a/lib/ssh.c +++ b/lib/ssh.c @@ -659,7 +659,7 @@ static CURLcode ssh_statemach_act(struct connectdata *conn, bool *block) libssh2_session_set_blocking(sshc->ssh_session, 0); state(conn, SSH_S_STARTUP); - /* fall-through */ + /* FALLTHROUGH */ case SSH_S_STARTUP: rc = libssh2_session_startup(sshc->ssh_session, (int)sock); @@ -675,7 +675,7 @@ static CURLcode ssh_statemach_act(struct connectdata *conn, bool *block) state(conn, SSH_HOSTKEY); - /* fall-through */ + /* FALLTHROUGH */ case SSH_HOSTKEY: /* * Before we authenticate we should check the hostkey's fingerprint diff --git a/lib/telnet.c b/lib/telnet.c index 031d61f4e6..05fe744dbd 100644 --- a/lib/telnet.c +++ b/lib/telnet.c @@ -1606,7 +1606,7 @@ static CURLcode telnet_do(struct connectdata *conn, bool *done) case 0: /* timeout */ pfd[0].revents = 0; pfd[1].revents = 0; - /* fall through */ + /* FALLTHROUGH */ default: /* read! */ if(pfd[0].revents & POLLIN) { /* read data from network */ diff --git a/lib/transfer.c b/lib/transfer.c index ab9094adc0..2982087034 100644 --- a/lib/transfer.c +++ b/lib/transfer.c @@ -1519,7 +1519,7 @@ static size_t strlen_url(const char *url, bool relative) switch(*ptr) { case '?': left = FALSE; - /* fall through */ + /* FALLTHROUGH */ default: if(urlchar_needs_escaping(*ptr)) newlen += 2; @@ -1564,7 +1564,7 @@ static void strcpy_url(char *output, const char *url, bool relative) switch(*iptr) { case '?': left = FALSE; - /* fall through */ + /* FALLTHROUGH */ default: if(urlchar_needs_escaping(*iptr)) { snprintf(optr, 4, "%%%02x", *iptr); diff --git a/m4/curl-compilers.m4 b/m4/curl-compilers.m4 index 63e45f3e0e..95afae4260 100644 --- a/m4/curl-compilers.m4 +++ b/m4/curl-compilers.m4 @@ -1060,6 +1060,7 @@ AC_DEFUN([CURL_SET_COMPILER_WARNING_OPTS], [ tmp_CFLAGS="$tmp_CFLAGS -Walloc-zero" tmp_CFLAGS="$tmp_CFLAGS -Wformat-overflow=2" tmp_CFLAGS="$tmp_CFLAGS -Wformat-truncation=2" + tmp_CFLAGS="$tmp_CFLAGS -Wimplicit-fallthrough=4" fi # fi diff --git a/src/tool_getparam.c b/src/tool_getparam.c index 0093af0a34..aad147148c 100644 --- a/src/tool_getparam.c +++ b/src/tool_getparam.c @@ -1834,7 +1834,7 @@ ParameterError getparameter(const char *flag, /* f or -long-flag */ config->default_node_flags = toggle?GETOUT_USEREMOTE:0; break; } - /* fall-through! */ + /* FALLTHROUGH */ case 'o': /* --output */ /* output file */ { diff --git a/src/tool_urlglob.c b/src/tool_urlglob.c index 2848d44e1c..e1b9941086 100644 --- a/src/tool_urlglob.c +++ b/src/tool_urlglob.c @@ -114,7 +114,7 @@ static CURLcode glob_set(URLGlob *glob, char **patternp, if(multiply(amount, pat->content.Set.size + 1)) return GLOBERROR("range overflow", 0, CURLE_URL_MALFORMAT); - /* fall-through */ + /* FALLTHROUGH */ case ',': *buf = '\0'; @@ -157,7 +157,7 @@ static CURLcode glob_set(URLGlob *glob, char **patternp, ++pattern; ++(*posp); } - /* intentional fallthrough */ + /* FALLTHROUGH */ default: *buf++ = *pattern++; /* copy character to set element */ ++(*posp);