[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 1/7] xz: add fall-through comments to a switch statement



Hi Jan,

On 19/11/2021 10:21, Jan Beulich wrote:
From: Lasse Collin <lasse.collin@xxxxxxxxxxx>

It's good style. I was also told that GCC 7 is more strict and might
give a warning when such comments are missing.

Suggested-by: Andrei Borzenkov <arvidjaar@xxxxxxxxx>
Signed-off-by: Lasse Collin <lasse.collin@xxxxxxxxxxx>
[Linux commit: 5a244f48ecbbd03a11eb84819c5c599db81823ee]
Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>

Acked-by: Julien Grall <jgrall@xxxxxxxxxx>

Cheers,

---
Linux has meanwhile further moved to using the "fallthrough" pseudo-
keyword, but us doing so requires the tool stack to first make this
available for use in at least stubdom builds.

--- a/xen/common/xz/dec_stream.c
+++ b/xen/common/xz/dec_stream.c
@@ -583,6 +583,8 @@ static enum xz_ret __init dec_main(struc
                        if (ret != XZ_OK)
                                return ret;
+ /* Fall through */
+
                case SEQ_BLOCK_START:
                        /* We need one byte of input to continue. */
                        if (b->in_pos == b->in_size)
@@ -606,6 +608,8 @@ static enum xz_ret __init dec_main(struc
                        s->temp.pos = 0;
                        s->sequence = SEQ_BLOCK_HEADER;
+ /* Fall through */
+
                case SEQ_BLOCK_HEADER:
                        if (!fill_temp(s, b))
                                return XZ_OK;
@@ -616,6 +620,8 @@ static enum xz_ret __init dec_main(struc
s->sequence = SEQ_BLOCK_UNCOMPRESS; + /* Fall through */
+
                case SEQ_BLOCK_UNCOMPRESS:
                        ret = dec_block(s, b);
                        if (ret != XZ_STREAM_END)
@@ -623,6 +629,8 @@ static enum xz_ret __init dec_main(struc
s->sequence = SEQ_BLOCK_PADDING; + /* Fall through */
+
                case SEQ_BLOCK_PADDING:
                        /*
                         * Size of Compressed Data + Block Padding
@@ -643,6 +651,8 @@ static enum xz_ret __init dec_main(struc
s->sequence = SEQ_BLOCK_CHECK; + /* Fall through */
+
                case SEQ_BLOCK_CHECK:
                        if (s->check_type == XZ_CHECK_CRC32) {
                                ret = crc32_validate(s, b);
@@ -665,6 +675,8 @@ static enum xz_ret __init dec_main(struc
s->sequence = SEQ_INDEX_PADDING; + /* Fall through */
+
                case SEQ_INDEX_PADDING:
                        while ((s->index.size + (b->in_pos - s->in_start))
                                        & 3) {
@@ -687,6 +699,8 @@ static enum xz_ret __init dec_main(struc
s->sequence = SEQ_INDEX_CRC32; + /* Fall through */
+
                case SEQ_INDEX_CRC32:
                        ret = crc32_validate(s, b);
                        if (ret != XZ_STREAM_END)
@@ -695,6 +709,8 @@ static enum xz_ret __init dec_main(struc
                        s->temp.size = STREAM_HEADER_SIZE;
                        s->sequence = SEQ_STREAM_FOOTER;
+ /* Fall through */
+
                case SEQ_STREAM_FOOTER:
                        if (!fill_temp(s, b))
                                return XZ_OK;


--
Julien Grall



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.