File varnish-5.1.2-add-fallthrough-comments.patch of Package varnish

From: antoine.belvire@opensuse.org
Date: Fri Jun 23 19:42:07 UTC 2017

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/inflate.c        |   18 ++++++++++++++++++
 2 files changed, 19 insertions(+)

Index: varnish-6.2.0/bin/varnishadm/varnishadm.c
===================================================================
--- varnish-6.2.0.orig/bin/varnishadm/varnishadm.c
+++ varnish-6.2.0/bin/varnishadm/varnishadm.c
@@ -439,6 +439,7 @@ main(int argc, char * const *argv)
 		case 'h':
 			/* Usage help */
 			usage(0);
+			break;
 		case 'n':
 			n_arg = optarg;
 			break;
Index: varnish-6.2.0/lib/libvgz/inflate.c
===================================================================
--- varnish-6.2.0.orig/lib/libvgz/inflate.c
+++ varnish-6.2.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;
openSUSE Build Service is sponsored by