Fix GCC 7 -Wimplicit-fallthrough warnings

Add magic comments recognized by default -Wimplicit-fallthrough=3
or break, as required.
This commit is contained in:
Andreas Stieger 2017-05-28 23:49:31 +02:00 committed by Nick Mathewson
parent b81a2e8f46
commit 6cd5a80275
6 changed files with 23 additions and 19 deletions

View File

@ -122,13 +122,13 @@ uint64_t siphash24(const void *src, unsigned long src_sz, const struct sipkey *k
} }
switch (src_sz - blocks) { switch (src_sz - blocks) {
case 7: last7 |= (uint64_t)m[i + 6] << 48; case 7: last7 |= (uint64_t)m[i + 6] << 48; /* Falls through. */
case 6: last7 |= (uint64_t)m[i + 5] << 40; case 6: last7 |= (uint64_t)m[i + 5] << 40; /* Falls through. */
case 5: last7 |= (uint64_t)m[i + 4] << 32; case 5: last7 |= (uint64_t)m[i + 4] << 32; /* Falls through. */
case 4: last7 |= (uint64_t)m[i + 3] << 24; case 4: last7 |= (uint64_t)m[i + 3] << 24; /* Falls through. */
case 3: last7 |= (uint64_t)m[i + 2] << 16; case 3: last7 |= (uint64_t)m[i + 2] << 16; /* Falls through. */
case 2: last7 |= (uint64_t)m[i + 1] << 8; case 2: last7 |= (uint64_t)m[i + 1] << 8; /* Falls through. */
case 1: last7 |= (uint64_t)m[i + 0] ; case 1: last7 |= (uint64_t)m[i + 0] ; /* Falls through. */
case 0: case 0:
default:; default:;
} }

View File

@ -294,10 +294,10 @@ sub256_modm_batch(bignum256modm out, const bignum256modm a, const bignum256modm
size_t i = 0; size_t i = 0;
bignum256modm_element_t carry = 0; bignum256modm_element_t carry = 0;
switch (limbsize) { switch (limbsize) {
case 4: out[i] = (a[i] - b[i]) ; carry = (out[i] >> 63); out[i] &= 0xffffffffffffff; i++; case 4: out[i] = (a[i] - b[i]) ; carry = (out[i] >> 63); out[i] &= 0xffffffffffffff; i++; /* Falls through. */
case 3: out[i] = (a[i] - b[i]) - carry; carry = (out[i] >> 63); out[i] &= 0xffffffffffffff; i++; case 3: out[i] = (a[i] - b[i]) - carry; carry = (out[i] >> 63); out[i] &= 0xffffffffffffff; i++; /* Falls through. */
case 2: out[i] = (a[i] - b[i]) - carry; carry = (out[i] >> 63); out[i] &= 0xffffffffffffff; i++; case 2: out[i] = (a[i] - b[i]) - carry; carry = (out[i] >> 63); out[i] &= 0xffffffffffffff; i++; /* Falls through. */
case 1: out[i] = (a[i] - b[i]) - carry; carry = (out[i] >> 63); out[i] &= 0xffffffffffffff; i++; case 1: out[i] = (a[i] - b[i]) - carry; carry = (out[i] >> 63); out[i] &= 0xffffffffffffff; i++; /* Falls through. */
case 0: case 0:
default: out[i] = (a[i] - b[i]) - carry; default: out[i] = (a[i] - b[i]) - carry;
} }
@ -310,10 +310,10 @@ lt256_modm_batch(const bignum256modm a, const bignum256modm b, size_t limbsize)
size_t i = 0; size_t i = 0;
bignum256modm_element_t t, carry = 0; bignum256modm_element_t t, carry = 0;
switch (limbsize) { switch (limbsize) {
case 4: t = (a[i] - b[i]) ; carry = (t >> 63); i++; case 4: t = (a[i] - b[i]) ; carry = (t >> 63); i++; /* Falls through. */
case 3: t = (a[i] - b[i]) - carry; carry = (t >> 63); i++; case 3: t = (a[i] - b[i]) - carry; carry = (t >> 63); i++; /* Falls through. */
case 2: t = (a[i] - b[i]) - carry; carry = (t >> 63); i++; case 2: t = (a[i] - b[i]) - carry; carry = (t >> 63); i++; /* Falls through. */
case 1: t = (a[i] - b[i]) - carry; carry = (t >> 63); i++; case 1: t = (a[i] - b[i]) - carry; carry = (t >> 63); i++; /* Falls through. */
case 0: t = (a[i] - b[i]) - carry; carry = (t >> 63); case 0: t = (a[i] - b[i]) - carry; carry = (t >> 63);
} }
return (int)carry; return (int)carry;
@ -325,10 +325,10 @@ lte256_modm_batch(const bignum256modm a, const bignum256modm b, size_t limbsize)
size_t i = 0; size_t i = 0;
bignum256modm_element_t t, carry = 0; bignum256modm_element_t t, carry = 0;
switch (limbsize) { switch (limbsize) {
case 4: t = (b[i] - a[i]) ; carry = (t >> 63); i++; case 4: t = (b[i] - a[i]) ; carry = (t >> 63); i++; /* Falls through. */
case 3: t = (b[i] - a[i]) - carry; carry = (t >> 63); i++; case 3: t = (b[i] - a[i]) - carry; carry = (t >> 63); i++; /* Falls through. */
case 2: t = (b[i] - a[i]) - carry; carry = (t >> 63); i++; case 2: t = (b[i] - a[i]) - carry; carry = (t >> 63); i++; /* Falls through. */
case 1: t = (b[i] - a[i]) - carry; carry = (t >> 63); i++; case 1: t = (b[i] - a[i]) - carry; carry = (t >> 63); i++; /* Falls through. */
case 0: t = (b[i] - a[i]) - carry; carry = (t >> 63); case 0: t = (b[i] - a[i]) - carry; carry = (t >> 63);
} }
return (int)!carry; return (int)!carry;

View File

@ -1595,6 +1595,7 @@ parse_socks(const char *data, size_t datalen, socks_request_t *req,
return -1; return -1;
} }
tor_assert(0); tor_assert(0);
break;
case 4: { /* socks4 */ case 4: { /* socks4 */
enum {socks4, socks4a} socks4_prot = socks4a; enum {socks4, socks4a} socks4_prot = socks4a;
const char *authstart, *authend; const char *authstart, *authend;

View File

@ -260,6 +260,7 @@ connection_edge_process_inbuf(edge_connection_t *conn, int package_partial)
} }
/* Fall through if the connection is on a circuit without optimistic /* Fall through if the connection is on a circuit without optimistic
* data support. */ * data support. */
/* Falls through. */
case EXIT_CONN_STATE_CONNECTING: case EXIT_CONN_STATE_CONNECTING:
case AP_CONN_STATE_RENDDESC_WAIT: case AP_CONN_STATE_RENDDESC_WAIT:
case AP_CONN_STATE_CIRCUIT_WAIT: case AP_CONN_STATE_CIRCUIT_WAIT:

View File

@ -522,6 +522,7 @@ send_resolved_cell,(edge_connection_t *conn, uint8_t answer_type,
answer_type = RESOLVED_TYPE_ERROR; answer_type = RESOLVED_TYPE_ERROR;
/* fall through. */ /* fall through. */
} }
/* Falls through. */
case RESOLVED_TYPE_ERROR_TRANSIENT: case RESOLVED_TYPE_ERROR_TRANSIENT:
case RESOLVED_TYPE_ERROR: case RESOLVED_TYPE_ERROR:
{ {

View File

@ -859,6 +859,7 @@ connection_ap_process_end_not_open(
break; /* break means it'll close, below */ break; /* break means it'll close, below */
/* Else fall through: expire this circuit, clear the /* Else fall through: expire this circuit, clear the
* chosen_exit_name field, and try again. */ * chosen_exit_name field, and try again. */
/* Falls through. */
case END_STREAM_REASON_RESOLVEFAILED: case END_STREAM_REASON_RESOLVEFAILED:
case END_STREAM_REASON_TIMEOUT: case END_STREAM_REASON_TIMEOUT:
case END_STREAM_REASON_MISC: case END_STREAM_REASON_MISC: