SHA256
1
0
forked from pool/varnish
varnish/varnish-5.1.2-add-fallthrough-comments.patch

176 lines
6.0 KiB
Diff
Raw Normal View History

GCC 7 introduces new warnings, including implicit fallthrough in switch blocks;
see https://gcc.gnu.org/gcc-7/changes.html#c-family. This warnings are turned
into errors in our case (-Werror).
This patch adds comments to make fallthroughs explicit and thus avoids compiler
warnings.
Note that most of these warnings are located in lib/libvgz, which will be
upgraded in a future release (see commit 5fae561 on master branch at
https://github.com/varnishcache/varnish-cache/commit/5fae561).
--
---
bin/varnishadm/varnishadm.c | 1 +
lib/libvgz/infback.c | 1 +
lib/libvgz/inflate.c | 18 ++++++++++++++++++
3 files changed, 20 insertions(+)
Index: varnish-6.0.0/bin/varnishadm/varnishadm.c
===================================================================
--- varnish-6.0.0.orig/bin/varnishadm/varnishadm.c
+++ varnish-6.0.0/bin/varnishadm/varnishadm.c
@@ -452,6 +452,7 @@ main(int argc, char * const *argv)
case 'h':
/* Usage help */
usage(0);
+ break;
case 'n':
n_arg = optarg;
break;
Index: varnish-6.0.0/lib/libvgz/infback.c
===================================================================
--- varnish-6.0.0.orig/lib/libvgz/infback.c
+++ varnish-6.0.0/lib/libvgz/infback.c
@@ -477,6 +477,7 @@ void FAR *out_desc;
}
Tracev((stderr, "inflate: codes ok\n"));
state->mode = LEN;
+ /* FALLTHROUGH */
case LEN:
/* use inflate_fast() if we have enough input and output */
Index: varnish-6.0.0/lib/libvgz/inflate.c
===================================================================
--- varnish-6.0.0.orig/lib/libvgz/inflate.c
+++ varnish-6.0.0/lib/libvgz/inflate.c
@@ -747,6 +747,7 @@ int flush;
CRC2(state->check, hold);
INITBITS();
state->mode = EXLEN;
+ /* FALLTHROUGH */
case EXLEN:
if (state->flags & 0x0400) {
NEEDBITS(16);
@@ -760,6 +761,7 @@ int flush;
else if (state->head != Z_NULL)
state->head->extra = Z_NULL;
state->mode = EXTRA;
+ /* FALLTHROUGH */
case EXTRA:
if (state->flags & 0x0400) {
copy = state->length;
@@ -782,6 +784,7 @@ int flush;
}
state->length = 0;
state->mode = NAME;
+ /* FALLTHROUGH */
case NAME:
if (state->flags & 0x0800) {
if (have == 0) goto inf_leave;
@@ -803,6 +806,7 @@ int flush;
state->head->name = Z_NULL;
state->length = 0;
state->mode = COMMENT;
+ /* FALLTHROUGH */
case COMMENT:
if (state->flags & 0x1000) {
if (have == 0) goto inf_leave;
@@ -823,6 +827,7 @@ int flush;
else if (state->head != Z_NULL)
state->head->comment = Z_NULL;
state->mode = HCRC;
+ /* FALLTHROUGH */
case HCRC:
if (state->flags & 0x0200) {
NEEDBITS(16);
@@ -846,6 +851,7 @@ int flush;
strm->adler = state->check = ZSWAP32(hold);
INITBITS();
state->mode = DICT;
+ /* FALLTHROUGH */
case DICT:
if (state->havedict == 0) {
RESTORE();
@@ -853,8 +859,10 @@ int flush;
}
strm->adler = state->check = adler32(0L, Z_NULL, 0);
state->mode = TYPE;
+ /* FALLTHROUGH */
case TYPE:
if (flush == Z_BLOCK || flush == Z_TREES) goto inf_leave;
+ /* FALLTHROUGH */
case TYPEDO:
if (strm->start_bit == 0)
strm->start_bit = 8 * (strm->total_in + in - have) - bits;
@@ -910,8 +918,10 @@ int flush;
INITBITS();
state->mode = COPY_;
if (flush == Z_TREES) goto inf_leave;
+ /* FALLTHROUGH */
case COPY_:
state->mode = COPY;
+ /* FALLTHROUGH */
case COPY:
copy = state->length;
if (copy) {
@@ -1051,8 +1061,10 @@ int flush;
Tracev((stderr, "inflate: codes ok\n"));
state->mode = LEN_;
if (flush == Z_TREES) goto inf_leave;
+ /* FALLTHROUGH */
case LEN_:
state->mode = LEN;
+ /* FALLTHROUGH */
case LEN:
if (have >= 6 && left >= 258) {
RESTORE();
@@ -1102,6 +1114,7 @@ int flush;
}
state->extra = (unsigned)(here.op) & 15;
state->mode = LENEXT;
+ /* FALLTHROUGH */
case LENEXT:
if (state->extra) {
NEEDBITS(state->extra);
@@ -1112,6 +1125,7 @@ int flush;
Tracevv((stderr, "inflate: length %u\n", state->length));
state->was = state->length;
state->mode = DIST;
+ /* FALLTHROUGH */
case DIST:
for (;;) {
here = state->distcode[BITS(state->distbits)];
@@ -1139,6 +1153,7 @@ int flush;
state->offset = (unsigned)here.val;
state->extra = (unsigned)(here.op) & 15;
state->mode = DISTEXT;
+ /* FALLTHROUGH */
case DISTEXT:
if (state->extra) {
NEEDBITS(state->extra);
@@ -1155,6 +1170,7 @@ int flush;
#endif
Tracevv((stderr, "inflate: distance %u\n", state->offset));
state->mode = MATCH;
+ /* FALLTHROUGH */
case MATCH:
if (left == 0) goto inf_leave;
copy = out - left;
@@ -1230,6 +1246,7 @@ int flush;
}
#ifdef GUNZIP
state->mode = LENGTH;
+ /* FALLTHROUGH */
case LENGTH:
if (state->wrap && state->flags) {
NEEDBITS(32);
@@ -1243,6 +1260,7 @@ int flush;
}
#endif
state->mode = DONE;
+ /* FALLTHROUGH */
case DONE:
ret = Z_STREAM_END;
goto inf_leave;