Commit 6cd5a802 authored by Andreas Stieger's avatar Andreas Stieger Committed by Nick Mathewson
Browse files

Fix GCC 7 -Wimplicit-fallthrough warnings

Add magic comments recognized by default -Wimplicit-fallthrough=3
or break, as required.
parent b81a2e8f
Loading
Loading
Loading
Loading
+7 −7
Original line number Diff line number Diff line
@@ -122,13 +122,13 @@ uint64_t siphash24(const void *src, unsigned long src_sz, const struct sipkey *k
	}

	switch (src_sz - blocks) {
		case 7: last7 |= (uint64_t)m[i + 6] << 48;
		case 6: last7 |= (uint64_t)m[i + 5] << 40;
		case 5: last7 |= (uint64_t)m[i + 4] << 32;
		case 4: last7 |= (uint64_t)m[i + 3] << 24;
		case 3: last7 |= (uint64_t)m[i + 2] << 16;
		case 2: last7 |= (uint64_t)m[i + 1] <<  8;
		case 1: last7 |= (uint64_t)m[i + 0]      ;
		case 7: last7 |= (uint64_t)m[i + 6] << 48; /* Falls through. */
		case 6: last7 |= (uint64_t)m[i + 5] << 40; /* Falls through. */
		case 5:	last7 |= (uint64_t)m[i + 4] << 32; /* Falls through. */
		case 4: last7 |= (uint64_t)m[i + 3] << 24; /* Falls through. */
		case 3:	last7 |= (uint64_t)m[i + 2] << 16; /* Falls through. */
		case 2:	last7 |= (uint64_t)m[i + 1] <<  8; /* Falls through. */
		case 1: last7 |= (uint64_t)m[i + 0]      ; /* Falls through. */
		case 0:
		default:;
	}
+12 −12
Original line number Diff line number Diff line
@@ -294,10 +294,10 @@ sub256_modm_batch(bignum256modm out, const bignum256modm a, const bignum256modm
	size_t i = 0;
	bignum256modm_element_t carry = 0;
	switch (limbsize) {
		case 4: out[i] = (a[i] - b[i])        ; 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++;
		case 2: 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++;
		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++; /* Falls through. */
		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++; /* Falls through. */
		case 0: 
		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;
	bignum256modm_element_t t, carry = 0;
	switch (limbsize) {
		case 4: t = (a[i] - b[i])        ; carry = (t >> 63); i++;
		case 3: t = (a[i] - b[i]) - carry; carry = (t >> 63); i++;
		case 2: t = (a[i] - b[i]) - carry; carry = (t >> 63); i++;
		case 1: t = (a[i] - b[i]) - carry; 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++; /* Falls through. */
		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++; /* Falls through. */
		case 0: t = (a[i] - b[i]) - carry; carry = (t >> 63);
	}
	return (int)carry;
@@ -325,10 +325,10 @@ lte256_modm_batch(const bignum256modm a, const bignum256modm b, size_t limbsize)
	size_t i = 0;
	bignum256modm_element_t t, carry = 0;
	switch (limbsize) {
		case 4: t = (b[i] - a[i])        ; carry = (t >> 63); i++;
		case 3: t = (b[i] - a[i]) - carry; carry = (t >> 63); i++;
		case 2: t = (b[i] - a[i]) - carry; carry = (t >> 63); i++;
		case 1: t = (b[i] - a[i]) - carry; 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++; /* Falls through. */
		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++; /* Falls through. */
		case 0: t = (b[i] - a[i]) - carry; carry = (t >> 63);
	}
	return (int)!carry;
+1 −0
Original line number Diff line number Diff line
@@ -1595,6 +1595,7 @@ parse_socks(const char *data, size_t datalen, socks_request_t *req,
          return -1;
      }
      tor_assert(0);
      break;
    case 4: { /* socks4 */
      enum {socks4, socks4a} socks4_prot = socks4a;
      const char *authstart, *authend;
+1 −0
Original line number Diff line number Diff line
@@ -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
       * data support. */
      /* Falls through. */
    case EXIT_CONN_STATE_CONNECTING:
    case AP_CONN_STATE_RENDDESC_WAIT:
    case AP_CONN_STATE_CIRCUIT_WAIT:
+1 −0
Original line number Diff line number Diff line
@@ -522,6 +522,7 @@ send_resolved_cell,(edge_connection_t *conn, uint8_t answer_type,
        answer_type = RESOLVED_TYPE_ERROR;
        /* fall through. */
      }
      /* Falls through. */
    case RESOLVED_TYPE_ERROR_TRANSIENT:
    case RESOLVED_TYPE_ERROR:
      {
Loading