SHA256
1
0
forked from pool/varnish
varnish/varnish-5.1.2-add-fallthrough-comments.patch
Jan Engelhardt 690a94e102 Accepting request 506128 from home:1Antoine1:branches:server:http
- Update to version 5.1.2:
- Add varnish-5.1.2-add-fallthrough-comments.patch to fix build
  with GCC 7 (boo#1041259).

OBS-URL: https://build.opensuse.org/request/show/506128
OBS-URL: https://build.opensuse.org/package/show/server:http/varnish?expand=0&rev=82
2017-06-28 08:21:25 +00:00

167 lines
5.9 KiB
Diff

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).
--
diff -up varnish-5.1.2/lib/libvgz/infback.c.orig varnish-5.1.2/lib/libvgz/infback.c
--- varnish-5.1.2/lib/libvgz/infback.c.orig 2017-06-25 18:25:04.558206683 +0200
+++ varnish-5.1.2/lib/libvgz/infback.c 2017-06-25 18:25:16.410207203 +0200
@@ -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 */
diff -up varnish-5.1.2/lib/libvgz/inflate.c.orig varnish-5.1.2/lib/libvgz/inflate.c
--- varnish-5.1.2/lib/libvgz/inflate.c.orig 2017-06-25 18:24:51.234206098 +0200
+++ varnish-5.1.2/lib/libvgz/inflate.c 2017-06-25 18:25:42.098208329 +0200
@@ -719,6 +719,7 @@ int flush;
if (state->flags & 0x0200) CRC2(state->check, hold);
INITBITS();
state->mode = EXLEN;
+ /* FALLTHROUGH */
case EXLEN:
if (state->flags & 0x0400) {
NEEDBITS(16);
@@ -731,6 +732,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;
@@ -753,6 +755,7 @@ int flush;
}
state->length = 0;
state->mode = NAME;
+ /* FALLTHROUGH */
case NAME:
if (state->flags & 0x0800) {
if (have == 0) goto inf_leave;
@@ -774,6 +777,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;
@@ -794,6 +798,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);
@@ -817,6 +822,7 @@ int flush;
strm->adler = state->check = ZSWAP32(hold);
INITBITS();
state->mode = DICT;
+ /* FALLTHROUGH */
case DICT:
if (state->havedict == 0) {
RESTORE();
@@ -824,8 +830,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;
@@ -881,8 +889,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) {
@@ -1022,8 +1032,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();
@@ -1073,6 +1085,7 @@ int flush;
}
state->extra = (unsigned)(here.op) & 15;
state->mode = LENEXT;
+ /* FALLTHROUGH */
case LENEXT:
if (state->extra) {
NEEDBITS(state->extra);
@@ -1083,6 +1096,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)];
@@ -1110,6 +1124,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);
@@ -1126,6 +1141,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;
@@ -1201,6 +1217,7 @@ int flush;
}
#ifdef GUNZIP
state->mode = LENGTH;
+ /* FALLTHROUGH */
case LENGTH:
if (state->wrap && state->flags) {
NEEDBITS(32);
@@ -1214,6 +1231,7 @@ int flush;
}
#endif
state->mode = DONE;
+ /* FALLTHROUGH */
case DONE:
ret = Z_STREAM_END;
goto inf_leave;
diff -up varnish-5.1.2/bin/varnishadm/varnishadm.c.orig varnish-5.1.2/bin/varnishadm/varnishadm.c
--- varnish-5.1.2/bin/varnishadm/varnishadm.c.orig 2017-06-25 18:38:35.790242267 +0200
+++ varnish-5.1.2/bin/varnishadm/varnishadm.c 2017-06-25 18:41:45.510250589 +0200
@@ -462,6 +462,7 @@ main(int argc, char * const *argv)
case 'h':
/* Usage help */
usage(0);
+ break;
case 'n':
n_arg = optarg;
break;