Skip to content

Commit b2733f8

Browse files
committed
Prevent warnings when building with gcc-7.2.
Guard against: "warning: this statement may fall through" warnings.
1 parent ae75e3d commit b2733f8

File tree

1 file changed

+22
-0
lines changed

1 file changed

+22
-0
lines changed

stadtx_hash.h

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -198,29 +198,39 @@ STADTX_STATIC_INLINE U64 stadtx_hash_with_state(
198198
v0= ROTR64(v0, 17) ^ v1;
199199
v1= ROTR64(v1, 53) + v0;
200200
key += 8;
201+
/* FALLTHROUGH */
201202
case 2:
202203
v0 += U8TO64_LE(key) * STADTX_K3_U64;
203204
v0= ROTR64(v0, 17) ^ v1;
204205
v1= ROTR64(v1, 53) + v0;
205206
key += 8;
207+
/* FALLTHROUGH */
206208
case 1:
207209
v0 += U8TO64_LE(key) * STADTX_K3_U64;
208210
v0= ROTR64(v0, 17) ^ v1;
209211
v1= ROTR64(v1, 53) + v0;
210212
key += 8;
213+
/* FALLTHROUGH */
211214
case 0:
212215
default: break;
213216
}
214217
switch ( len & 0x7 ) {
215218
case 7: v0 += (U64)key[6] << 32;
219+
/* FALLTHROUGH */
216220
case 6: v1 += (U64)key[5] << 48;
221+
/* FALLTHROUGH */
217222
case 5: v0 += (U64)key[4] << 16;
223+
/* FALLTHROUGH */
218224
case 4: v1 += (U64)U8TO32_LE(key);
219225
break;
226+
/* FALLTHROUGH */
220227
case 3: v0 += (U64)key[2] << 48;
228+
/* FALLTHROUGH */
221229
case 2: v1 += (U64)U8TO16_LE(key);
222230
break;
231+
/* FALLTHROUGH */
223232
case 1: v0 += (U64)key[0];
233+
/* FALLTHROUGH */
224234
case 0: v1 = ROTL64(v1, 32) ^ 0xFF;
225235
break;
226236
}
@@ -253,25 +263,37 @@ STADTX_STATIC_INLINE U64 stadtx_hash_with_state(
253263

254264
switch ( len >> 3 ) {
255265
case 3: v0 += ((U64)U8TO64_LE(key) * STADTX_K2_U32); key += 8; v0= ROTL64(v0,57) ^ v3;
266+
/* FALLTHROUGH */
256267
case 2: v1 += ((U64)U8TO64_LE(key) * STADTX_K3_U32); key += 8; v1= ROTL64(v1,63) ^ v2;
268+
/* FALLTHROUGH */
257269
case 1: v2 += ((U64)U8TO64_LE(key) * STADTX_K4_U32); key += 8; v2= ROTR64(v2,47) + v0;
270+
/* FALLTHROUGH */
258271
case 0: v3 = ROTR64(v3,11) - v1;
272+
/* FALLTHROUGH */
259273
}
260274
v0 ^= (len+1) * STADTX_K3_U64;
261275
switch ( len & 0x7 ) {
262276
case 7: v1 += (U64)key[6];
277+
/* FALLTHROUGH */
263278
case 6: v2 += (U64)U8TO16_LE(key+4);
264279
v3 += (U64)U8TO32_LE(key);
265280
break;
281+
/* FALLTHROUGH */
266282
case 5: v1 += (U64)key[4];
283+
/* FALLTHROUGH */
267284
case 4: v2 += (U64)U8TO32_LE(key);
268285
break;
286+
/* FALLTHROUGH */
269287
case 3: v3 += (U64)key[2];
288+
/* FALLTHROUGH */
270289
case 2: v1 += (U64)U8TO16_LE(key);
271290
break;
291+
/* FALLTHROUGH */
272292
case 1: v2 += (U64)key[0];
293+
/* FALLTHROUGH */
273294
case 0: v3 = ROTL64(v3, 32) ^ 0xFF;
274295
break;
296+
/* FALLTHROUGH */
275297
}
276298

277299
v1 -= v2;

0 commit comments

Comments
 (0)