Commit 36f9ff9e authored by Gustavo A. R. Silva's avatar Gustavo A. R. Silva
Browse files

lib: Fix fall-through warnings for Clang

In preparation to enable -Wimplicit-fallthrough for Clang, fix multiple
warnings by explicitly adding multiple break statements instead of
letting the code fall through to the next case, and by replacing a
number of /* fall through */ comments with the new pseudo-keyword
macro fallthrough.

Notice that Clang doesn't recognize /* Fall through */ comments as
implicit fall-through markings.

Link: https://github.com/KSPP/linux/issues/115


Signed-off-by: default avatarGustavo A. R. Silva <gustavoars@kernel.org>
parent 49a41365
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -153,6 +153,7 @@ unsigned long long memparse(const char *ptr, char **retptr)
	case 'k':
		ret <<= 10;
		endptr++;
		fallthrough;
	default:
		break;
	}
+1 −0
Original line number Diff line number Diff line
@@ -355,6 +355,7 @@ int kstrtobool(const char *s, bool *res)
		default:
			break;
		}
		break;
	default:
		break;
	}
+1 −1
Original line number Diff line number Diff line
@@ -432,7 +432,7 @@ static int validate_nla(const struct nlattr *nla, int maxtype,
			err = -EINVAL;
			goto out_err;
		}
		/* fall through */
		fallthrough;

	case NLA_STRING:
		if (attrlen < 1)
+1 −0
Original line number Diff line number Diff line
@@ -2459,6 +2459,7 @@ qualifier:
	case 'd':
	case 'i':
		spec->flags |= SIGN;
		break;
	case 'u':
		break;

+12 −12
Original line number Diff line number Diff line
@@ -396,7 +396,7 @@ int zlib_inflate(z_streamp strm, int flush)
            strm->adler = state->check = REVERSE(hold);
            INITBITS();
            state->mode = DICT;
	    /* fall through */
	    fallthrough;
        case DICT:
            if (state->havedict == 0) {
                RESTORE();
@@ -404,10 +404,10 @@ int zlib_inflate(z_streamp strm, int flush)
            }
            strm->adler = state->check = zlib_adler32(0L, NULL, 0);
            state->mode = TYPE;
	    /* fall through */
	    fallthrough;
        case TYPE:
            if (flush == Z_BLOCK) goto inf_leave;
	    /* fall through */
	    fallthrough;
        case TYPEDO:
            INFLATE_TYPEDO_HOOK(strm, flush);
            if (state->last) {
@@ -446,7 +446,7 @@ int zlib_inflate(z_streamp strm, int flush)
            state->length = (unsigned)hold & 0xffff;
            INITBITS();
            state->mode = COPY;
	    /* fall through */
	    fallthrough;
        case COPY:
            copy = state->length;
            if (copy) {
@@ -480,7 +480,7 @@ int zlib_inflate(z_streamp strm, int flush)
#endif
            state->have = 0;
            state->mode = LENLENS;
	    /* fall through */
	    fallthrough;
        case LENLENS:
            while (state->have < state->ncode) {
                NEEDBITS(3);
@@ -501,7 +501,7 @@ int zlib_inflate(z_streamp strm, int flush)
            }
            state->have = 0;
            state->mode = CODELENS;
	    /* fall through */
	    fallthrough;
        case CODELENS:
            while (state->have < state->nlen + state->ndist) {
                for (;;) {
@@ -575,7 +575,7 @@ int zlib_inflate(z_streamp strm, int flush)
                break;
            }
            state->mode = LEN;
	    /* fall through */
	    fallthrough;
        case LEN:
            if (have >= 6 && left >= 258) {
                RESTORE();
@@ -615,7 +615,7 @@ int zlib_inflate(z_streamp strm, int flush)
            }
            state->extra = (unsigned)(this.op) & 15;
            state->mode = LENEXT;
	    /* fall through */
	    fallthrough;
        case LENEXT:
            if (state->extra) {
                NEEDBITS(state->extra);
@@ -623,7 +623,7 @@ int zlib_inflate(z_streamp strm, int flush)
                DROPBITS(state->extra);
            }
            state->mode = DIST;
	    /* fall through */
	    fallthrough;
        case DIST:
            for (;;) {
                this = state->distcode[BITS(state->distbits)];
@@ -649,7 +649,7 @@ int zlib_inflate(z_streamp strm, int flush)
            state->offset = (unsigned)this.val;
            state->extra = (unsigned)(this.op) & 15;
            state->mode = DISTEXT;
	    /* fall through */
	    fallthrough;
        case DISTEXT:
            if (state->extra) {
                NEEDBITS(state->extra);
@@ -669,7 +669,7 @@ int zlib_inflate(z_streamp strm, int flush)
                break;
            }
            state->mode = MATCH;
	    /* fall through */
	    fallthrough;
        case MATCH:
            if (left == 0) goto inf_leave;
            copy = out - left;
@@ -720,7 +720,7 @@ int zlib_inflate(z_streamp strm, int flush)
                INITBITS();
            }
            state->mode = DONE;
	    /* fall through */
	    fallthrough;
        case DONE:
            ret = Z_STREAM_END;
            goto inf_leave;
Loading