case ASN1_OP_END_SET_ACT:
                if (unlikely(!(flags & FLAG_MATCHED)))
                        goto tag_mismatch;
-               fallthrough;
+               /* fall through */
 
        case ASN1_OP_END_SEQ:
        case ASN1_OP_END_SET_OF:
                        pc += asn1_op_lengths[op];
                        goto next_op;
                }
-               fallthrough;
+               /* fall through */
 
        case ASN1_OP_ACT:
                ret = actions[machine[pc + 1]](context, hdr, tag, data + tdp, len);
 
                                                index_key))
                                goto found_leaf;
                }
-               fallthrough;
+               /* fall through */
        case assoc_array_walk_tree_empty:
        case assoc_array_walk_found_wrong_shortcut:
        default:
 
                                                        q - 2);
                                break;
                        }
-                       fallthrough;
+                       /* fall through */
                case '=':
                        ret = xbc_parse_kv(&p, q, c);
                        break;
                        break;
                case '#':
                        q = skip_comment(q);
-                       fallthrough;
+                       /* fall through */
                case ';':
                case '\n':
                        ret = xbc_parse_key(&p, q);
 
        case 'E':
        case 'e':
                ret <<= 10;
-               fallthrough;
+               /* fall through */
        case 'P':
        case 'p':
                ret <<= 10;
-               fallthrough;
+               /* fall through */
        case 'T':
        case 't':
                ret <<= 10;
-               fallthrough;
+               /* fall through */
        case 'G':
        case 'g':
                ret <<= 10;
-               fallthrough;
+               /* fall through */
        case 'M':
        case 'm':
                ret <<= 10;
-               fallthrough;
+               /* fall through */
        case 'K':
        case 'k':
                ret <<= 10;
 
                        schedule_work(&dim->work);
                        break;
                }
-               fallthrough;
+               /* fall through */
        case DIM_START_MEASURE:
                dim_update_sample(end_sample.event_ctr, end_sample.pkt_ctr,
                                  end_sample.byte_ctr, &dim->start_sample);
 
                        break;
                case DIM_STATS_WORSE:
                        dim_turn(dim);
-                       fallthrough;
+                       /* fall through */
                case DIM_STATS_BETTER:
                        step_res = rdma_dim_step(dim);
                        if (step_res == DIM_ON_EDGE)
                        schedule_work(&dim->work);
                        break;
                }
-               fallthrough;
+               /* fall through */
        case DIM_START_MEASURE:
                dim->state = DIM_MEASURE_IN_PROGRESS;
                dim_update_sample_with_comps(curr_sample->event_ctr, 0, 0,
 
                        break;
                case '\\':
                        d = *pat++;
-                       fallthrough;
+                       /* fall through */
                default:        /* Literal character */
 literal:
                        if (c == d) {
 
                                                  bytemask_from_count(left)));
 #else
        switch (left) {
-       case 7: b |= ((u64)end[6]) << 48; fallthrough;
-       case 6: b |= ((u64)end[5]) << 40; fallthrough;
-       case 5: b |= ((u64)end[4]) << 32; fallthrough;
+       case 7: b |= ((u64)end[6]) << 48; /* fall through */
+       case 6: b |= ((u64)end[5]) << 40; /* fall through */
+       case 5: b |= ((u64)end[4]) << 32; /* fall through */
        case 4: b |= le32_to_cpup(data); break;
-       case 3: b |= ((u64)end[2]) << 16; fallthrough;
+       case 3: b |= ((u64)end[2]) << 16; /* fall through */
        case 2: b |= le16_to_cpup(data); break;
        case 1: b |= end[0];
        }
                                                  bytemask_from_count(left)));
 #else
        switch (left) {
-       case 7: b |= ((u64)end[6]) << 48; fallthrough;
-       case 6: b |= ((u64)end[5]) << 40; fallthrough;
-       case 5: b |= ((u64)end[4]) << 32; fallthrough;
+       case 7: b |= ((u64)end[6]) << 48; /* fall through */
+       case 6: b |= ((u64)end[5]) << 40; /* fall through */
+       case 5: b |= ((u64)end[4]) << 32; /* fall through */
        case 4: b |= get_unaligned_le32(end); break;
-       case 3: b |= ((u64)end[2]) << 16; fallthrough;
+       case 3: b |= ((u64)end[2]) << 16; /* fall through */
        case 2: b |= get_unaligned_le16(end); break;
        case 1: b |= end[0];
        }
                                                  bytemask_from_count(left)));
 #else
        switch (left) {
-       case 7: b |= ((u64)end[6]) << 48; fallthrough;
-       case 6: b |= ((u64)end[5]) << 40; fallthrough;
-       case 5: b |= ((u64)end[4]) << 32; fallthrough;
+       case 7: b |= ((u64)end[6]) << 48; /* fall through */
+       case 6: b |= ((u64)end[5]) << 40; /* fall through */
+       case 5: b |= ((u64)end[4]) << 32; /* fall through */
        case 4: b |= le32_to_cpup(data); break;
-       case 3: b |= ((u64)end[2]) << 16; fallthrough;
+       case 3: b |= ((u64)end[2]) << 16; /* fall through */
        case 2: b |= le16_to_cpup(data); break;
        case 1: b |= end[0];
        }
                                                  bytemask_from_count(left)));
 #else
        switch (left) {
-       case 7: b |= ((u64)end[6]) << 48; fallthrough;
-       case 6: b |= ((u64)end[5]) << 40; fallthrough;
-       case 5: b |= ((u64)end[4]) << 32; fallthrough;
+       case 7: b |= ((u64)end[6]) << 48; /* fall through */
+       case 6: b |= ((u64)end[5]) << 40; /* fall through */
+       case 5: b |= ((u64)end[4]) << 32; /* fall through */
        case 4: b |= get_unaligned_le32(end); break;
-       case 3: b |= ((u64)end[2]) << 16; fallthrough;
+       case 3: b |= ((u64)end[2]) << 16; /* fall through */
        case 2: b |= get_unaligned_le16(end); break;
        case 1: b |= end[0];
        }
                v0 ^= m;
        }
        switch (left) {
-       case 3: b |= ((u32)end[2]) << 16; fallthrough;
+       case 3: b |= ((u32)end[2]) << 16; /* fall through */
        case 2: b |= le16_to_cpup(data); break;
        case 1: b |= end[0];
        }
                v0 ^= m;
        }
        switch (left) {
-       case 3: b |= ((u32)end[2]) << 16; fallthrough;
+       case 3: b |= ((u32)end[2]) << 16; /* fall through */
        case 2: b |= get_unaligned_le16(end); break;
        case 1: b |= end[0];
        }
 
                                TOKEN_MISMATCH();
 
                        block_idx++;
-                       fallthrough;
+                       /* fall through */
 
                case TS_FSM_ANY:
                        if (next == NULL)
 
 
        case 'R':
                reversed = true;
-               fallthrough;
+               /* fall through */
 
        default:
                separator = ':';
        switch (*(++fmt)) {
        case 'L':
                uc = true;
-               fallthrough;
+               /* fall through */
        case 'l':
                index = guid_index;
                break;
        case 'S':
        case 's':
                ptr = dereference_symbol_descriptor(ptr);
-               fallthrough;
+               /* fall through */
        case 'B':
                return symbol_string(buf, end, ptr, spec, fmt);
        case 'R':
 
        case 'x':
                spec->flags |= SMALL;
-               fallthrough;
+               /* fall through */
 
        case 'X':
                spec->base = 16;
                 * utility, treat it as any other invalid or
                 * unsupported format specifier.
                 */
-               fallthrough;
+               /* fall through */
 
        default:
                WARN_ONCE(1, "Please remove unsupported %%%c in format string\n", *fmt);
                        break;
                case 'i':
                        base = 0;
-                       fallthrough;
+                       /* fall through */
                case 'd':
                        is_sign = true;
-                       fallthrough;
+                       /* fall through */
                case 'u':
                        break;
                case '%':
 
 
                        s->lzma2.sequence = SEQ_LZMA_PREPARE;
 
-                       fallthrough;
+                       /* fall through */
 
                case SEQ_LZMA_PREPARE:
                        if (s->lzma2.compressed < RC_INIT_BYTES)
                        s->lzma2.compressed -= RC_INIT_BYTES;
                        s->lzma2.sequence = SEQ_LZMA_RUN;
 
-                       fallthrough;
+                       /* fall through */
 
                case SEQ_LZMA_RUN:
                        /*
 
                        if (ret != XZ_OK)
                                return ret;
 
-                       fallthrough;
+                       /* fall through */
 
                case SEQ_BLOCK_START:
                        /* We need one byte of input to continue. */
                        s->temp.pos = 0;
                        s->sequence = SEQ_BLOCK_HEADER;
 
-                       fallthrough;
+                       /* fall through */
 
                case SEQ_BLOCK_HEADER:
                        if (!fill_temp(s, b))
 
                        s->sequence = SEQ_BLOCK_UNCOMPRESS;
 
-                       fallthrough;
+                       /* fall through */
 
                case SEQ_BLOCK_UNCOMPRESS:
                        ret = dec_block(s, b);
 
                        s->sequence = SEQ_BLOCK_PADDING;
 
-                       fallthrough;
+                       /* fall through */
 
                case SEQ_BLOCK_PADDING:
                        /*
 
                        s->sequence = SEQ_BLOCK_CHECK;
 
-                       fallthrough;
+                       /* fall through */
 
                case SEQ_BLOCK_CHECK:
                        if (s->check_type == XZ_CHECK_CRC32) {
 
                        s->sequence = SEQ_INDEX_PADDING;
 
-                       fallthrough;
+                       /* fall through */
 
                case SEQ_INDEX_PADDING:
                        while ((s->index.size + (b->in_pos - s->in_start))
 
                        s->sequence = SEQ_INDEX_CRC32;
 
-                       fallthrough;
+                       /* fall through */
 
                case SEQ_INDEX_CRC32:
                        ret = crc32_validate(s, b);
                        s->temp.size = STREAM_HEADER_SIZE;
                        s->sequence = SEQ_STREAM_FOOTER;
 
-                       fallthrough;
+                       /* fall through */
 
                case SEQ_STREAM_FOOTER:
                        if (!fill_temp(s, b))
 
                bitD->bitContainer = *(const BYTE *)(bitD->start);
                switch (srcSize) {
                case 7: bitD->bitContainer += (size_t)(((const BYTE *)(srcBuffer))[6]) << (sizeof(bitD->bitContainer) * 8 - 16);
-                       fallthrough;
+                       /* fall through */
                case 6: bitD->bitContainer += (size_t)(((const BYTE *)(srcBuffer))[5]) << (sizeof(bitD->bitContainer) * 8 - 24);
-                       fallthrough;
+                       /* fall through */
                case 5: bitD->bitContainer += (size_t)(((const BYTE *)(srcBuffer))[4]) << (sizeof(bitD->bitContainer) * 8 - 32);
-                       fallthrough;
+                       /* fall through */
                case 4: bitD->bitContainer += (size_t)(((const BYTE *)(srcBuffer))[3]) << 24;
-                       fallthrough;
+                       /* fall through */
                case 3: bitD->bitContainer += (size_t)(((const BYTE *)(srcBuffer))[2]) << 16;
-                       fallthrough;
+                       /* fall through */
                case 2: bitD->bitContainer += (size_t)(((const BYTE *)(srcBuffer))[1]) << 8;
                default:;
                }
 
                                zcs->outBuffFlushedSize = 0;
                                zcs->stage = zcss_flush; /* pass-through to flush stage */
                        }
-                       fallthrough;
+                       /* fall through */
 
                case zcss_flush: {
                        size_t const toFlush = zcs->outBuffContentSize - zcs->outBuffFlushedSize;
 
                case set_repeat:
                        if (dctx->litEntropy == 0)
                                return ERROR(dictionary_corrupted);
-                       fallthrough;
+                       /* fall through */
                case set_compressed:
                        if (srcSize < 5)
                                return ERROR(corruption_detected); /* srcSize >= MIN_CBLOCK_SIZE == 3; here we need up to 5 for case 3 */
                        return 0;
                }
                dctx->expected = 0; /* not necessary to copy more */
-               fallthrough;
+               /* fall through */
 
        case ZSTDds_decodeFrameHeader:
                memcpy(dctx->headerBuffer + ZSTD_frameHeaderSize_prefix, src, dctx->expected);
                switch (zds->stage) {
                case zdss_init:
                        ZSTD_resetDStream(zds); /* transparent reset on starting decoding a new frame */
-                       fallthrough;
+                       /* fall through */
 
                case zdss_loadHeader: {
                        size_t const hSize = ZSTD_getFrameParams(&zds->fParams, zds->headerBuffer, zds->lhSize);
                        }
                        zds->stage = zdss_read;
                }
-                       fallthrough;
+                       /* fall through */
 
                case zdss_read: {
                        size_t const neededInSize = ZSTD_nextSrcSizeToDecompress(zds->dctx);
                        zds->stage = zdss_load;
                        /* pass-through */
                }
-                       fallthrough;
+                       /* fall through */
 
                case zdss_load: {
                        size_t const neededInSize = ZSTD_nextSrcSizeToDecompress(zds->dctx);
                                /* pass-through */
                        }
                }
-                       fallthrough;
+                       /* fall through */
 
                case zdss_flush: {
                        size_t const toFlushSize = zds->outEnd - zds->outStart;
 
        n = srcSize & ~3; /* join to mod 4 */
        switch (srcSize & 3) {
        case 3: HUF_encodeSymbol(&bitC, ip[n + 2], CTable); HUF_FLUSHBITS_2(&bitC);
-               fallthrough;
+               /* fall through */
        case 2: HUF_encodeSymbol(&bitC, ip[n + 1], CTable); HUF_FLUSHBITS_1(&bitC);
-               fallthrough;
+               /* fall through */
        case 1: HUF_encodeSymbol(&bitC, ip[n + 0], CTable); HUF_FLUSHBITS(&bitC);
        case 0:
        default:;