* libtiff/tif_fax3.c, tif_predict.c, tif_getimage.c: fix GCC 7

-Wimplicit-fallthrough warnings.
This commit is contained in:
Even Rouault 2017-02-25 17:05:12 +00:00
parent 19a159d7c4
commit 8a752e1e3a
4 changed files with 72 additions and 32 deletions

View File

@ -1,3 +1,8 @@
2017-02-25 Even Rouault <even.rouault at spatialys.com>
* libtiff/tif_fax3.c, tif_predict.c, tif_getimage.c: fix GCC 7
-Wimplicit-fallthrough warnings.
2017-02-18 Even Rouault <even.rouault at spatialys.com> 2017-02-18 Even Rouault <even.rouault at spatialys.com>
* libtiff/tif_pixarlog.c: fix memory leak in error code path of * libtiff/tif_pixarlog.c: fix memory leak in error code path of

View File

@ -1,4 +1,4 @@
/* $Id: tif_fax3.c,v 1.78 2016-09-04 21:32:56 erouault Exp $ */ /* $Id: tif_fax3.c,v 1.79 2017-02-25 17:05:12 erouault Exp $ */
/* /*
* Copyright (c) 1990-1997 Sam Leffler * Copyright (c) 1990-1997 Sam Leffler
@ -329,34 +329,64 @@ Fax3Decode2D(TIFF* tif, uint8* buf, tmsize_t occ, uint16 s)
#if SIZEOF_UNSIGNED_LONG == 8 #if SIZEOF_UNSIGNED_LONG == 8
# define FILL(n, cp) \ # define FILL(n, cp) \
switch (n) { \ switch (n) { \
case 15:(cp)[14] = 0xff; case 14:(cp)[13] = 0xff; case 13: (cp)[12] = 0xff;\ case 15:(cp)[14] = 0xff; /*-fallthrough*/ \
case 12:(cp)[11] = 0xff; case 11:(cp)[10] = 0xff; case 10: (cp)[9] = 0xff;\ case 14:(cp)[13] = 0xff; /*-fallthrough*/ \
case 9: (cp)[8] = 0xff; case 8: (cp)[7] = 0xff; case 7: (cp)[6] = 0xff;\ case 13:(cp)[12] = 0xff; /*-fallthrough*/ \
case 6: (cp)[5] = 0xff; case 5: (cp)[4] = 0xff; case 4: (cp)[3] = 0xff;\ case 12:(cp)[11] = 0xff; /*-fallthrough*/ \
case 3: (cp)[2] = 0xff; case 2: (cp)[1] = 0xff; \ case 11:(cp)[10] = 0xff; /*-fallthrough*/ \
case 1: (cp)[0] = 0xff; (cp) += (n); case 0: ; \ case 10: (cp)[9] = 0xff; /*-fallthrough*/ \
case 9: (cp)[8] = 0xff; /*-fallthrough*/ \
case 8: (cp)[7] = 0xff; /*-fallthrough*/ \
case 7: (cp)[6] = 0xff; /*-fallthrough*/ \
case 6: (cp)[5] = 0xff; /*-fallthrough*/ \
case 5: (cp)[4] = 0xff; /*-fallthrough*/ \
case 4: (cp)[3] = 0xff; /*-fallthrough*/ \
case 3: (cp)[2] = 0xff; /*-fallthrough*/ \
case 2: (cp)[1] = 0xff; /*-fallthrough*/ \
case 1: (cp)[0] = 0xff; (cp) += (n); /*-fallthrough*/ \
case 0: ; \
} }
# define ZERO(n, cp) \ # define ZERO(n, cp) \
switch (n) { \ switch (n) { \
case 15:(cp)[14] = 0; case 14:(cp)[13] = 0; case 13: (cp)[12] = 0; \ case 15:(cp)[14] = 0; /*-fallthrough*/ \
case 12:(cp)[11] = 0; case 11:(cp)[10] = 0; case 10: (cp)[9] = 0; \ case 14:(cp)[13] = 0; /*-fallthrough*/ \
case 9: (cp)[8] = 0; case 8: (cp)[7] = 0; case 7: (cp)[6] = 0; \ case 13:(cp)[12] = 0; /*-fallthrough*/ \
case 6: (cp)[5] = 0; case 5: (cp)[4] = 0; case 4: (cp)[3] = 0; \ case 12:(cp)[11] = 0; /*-fallthrough*/ \
case 3: (cp)[2] = 0; case 2: (cp)[1] = 0; \ case 11:(cp)[10] = 0; /*-fallthrough*/ \
case 1: (cp)[0] = 0; (cp) += (n); case 0: ; \ case 10: (cp)[9] = 0; /*-fallthrough*/ \
case 9: (cp)[8] = 0; /*-fallthrough*/ \
case 8: (cp)[7] = 0; /*-fallthrough*/ \
case 7: (cp)[6] = 0; /*-fallthrough*/ \
case 6: (cp)[5] = 0; /*-fallthrough*/ \
case 5: (cp)[4] = 0; /*-fallthrough*/ \
case 4: (cp)[3] = 0; /*-fallthrough*/ \
case 3: (cp)[2] = 0; /*-fallthrough*/ \
case 2: (cp)[1] = 0; /*-fallthrough*/ \
case 1: (cp)[0] = 0; (cp) += (n); /*-fallthrough*/ \
case 0: ; \
} }
#else #else
# define FILL(n, cp) \ # define FILL(n, cp) \
switch (n) { \ switch (n) { \
case 7: (cp)[6] = 0xff; case 6: (cp)[5] = 0xff; case 5: (cp)[4] = 0xff; \ case 7: (cp)[6] = 0xff; /*-fallthrough*/ \
case 4: (cp)[3] = 0xff; case 3: (cp)[2] = 0xff; case 2: (cp)[1] = 0xff; \ case 6: (cp)[5] = 0xff; /*-fallthrough*/ \
case 1: (cp)[0] = 0xff; (cp) += (n); case 0: ; \ case 5: (cp)[4] = 0xff; /*-fallthrough*/ \
case 4: (cp)[3] = 0xff; /*-fallthrough*/ \
case 3: (cp)[2] = 0xff; /*-fallthrough*/ \
case 2: (cp)[1] = 0xff; /*-fallthrough*/ \
case 1: (cp)[0] = 0xff; (cp) += (n); /*-fallthrough*/ \
case 0: ; \
} }
# define ZERO(n, cp) \ # define ZERO(n, cp) \
switch (n) { \ switch (n) { \
case 7: (cp)[6] = 0; case 6: (cp)[5] = 0; case 5: (cp)[4] = 0; \ case 7: (cp)[6] = 0; /*-fallthrough*/ \
case 4: (cp)[3] = 0; case 3: (cp)[2] = 0; case 2: (cp)[1] = 0; \ case 6: (cp)[5] = 0; /*-fallthrough*/ \
case 1: (cp)[0] = 0; (cp) += (n); case 0: ; \ case 5: (cp)[4] = 0; /*-fallthrough*/ \
case 4: (cp)[3] = 0; /*-fallthrough*/ \
case 3: (cp)[2] = 0; /*-fallthrough*/ \
case 2: (cp)[1] = 0; /*-fallthrough*/ \
case 1: (cp)[0] = 0; (cp) += (n); /*-fallthrough*/ \
case 0: ; \
} }
#endif #endif

View File

@ -1,4 +1,4 @@
/* $Id: tif_getimage.c,v 1.102 2017-01-11 16:38:26 erouault Exp $ */ /* $Id: tif_getimage.c,v 1.103 2017-02-25 17:05:12 erouault Exp $ */
/* /*
* Copyright (c) 1991-1997 Sam Leffler * Copyright (c) 1991-1997 Sam Leffler
@ -1133,11 +1133,15 @@ gtStripSeparate(TIFFRGBAImage* img, uint32* raster, uint32 w, uint32 h)
#define REPEAT2(op) op; op #define REPEAT2(op) op; op
#define CASE8(x,op) \ #define CASE8(x,op) \
switch (x) { \ switch (x) { \
case 7: op; case 6: op; case 5: op; \ case 7: op; /*-fallthrough*/ \
case 4: op; case 3: op; case 2: op; \ case 6: op; /*-fallthrough*/ \
case 5: op; /*-fallthrough*/ \
case 4: op; /*-fallthrough*/ \
case 3: op; /*-fallthrough*/ \
case 2: op; /*-fallthrough*/ \
case 1: op; \ case 1: op; \
} }
#define CASE4(x,op) switch (x) { case 3: op; case 2: op; case 1: op; } #define CASE4(x,op) switch (x) { case 3: op; /*-fallthrough*/ case 2: op; /*-fallthrough*/ case 1: op; }
#define NOP #define NOP
#define UNROLL8(w, op1, op2) { \ #define UNROLL8(w, op1, op2) { \
@ -2043,9 +2047,9 @@ DECLAREContigPutFunc(putcontig8bitYCbCr41tile)
int32 Cr = pp[5]; int32 Cr = pp[5];
switch( (w&3) ) { switch( (w&3) ) {
case 3: YCbCrtoRGB(cp [2], pp[2]); case 3: YCbCrtoRGB(cp [2], pp[2]); /*-fallthrough*/
case 2: YCbCrtoRGB(cp [1], pp[1]); case 2: YCbCrtoRGB(cp [1], pp[1]); /*-fallthrough*/
case 1: YCbCrtoRGB(cp [0], pp[0]); case 1: YCbCrtoRGB(cp [0], pp[0]); /*-fallthrough*/
case 0: break; case 0: break;
} }

View File

@ -1,4 +1,4 @@
/* $Id: tif_predict.c,v 1.41 2016-11-20 22:31:22 erouault Exp $ */ /* $Id: tif_predict.c,v 1.42 2017-02-25 17:05:12 erouault Exp $ */
/* /*
* Copyright (c) 1988-1997 Sam Leffler * Copyright (c) 1988-1997 Sam Leffler
@ -259,11 +259,12 @@ PredictorSetupEncode(TIFF* tif)
#define REPEAT4(n, op) \ #define REPEAT4(n, op) \
switch (n) { \ switch (n) { \
default: { tmsize_t i; for (i = n-4; i > 0; i--) { op; } } \ default: { \
case 4: op; \ tmsize_t i; for (i = n-4; i > 0; i--) { op; } } /*-fallthrough*/ \
case 3: op; \ case 4: op; /*-fallthrough*/ \
case 2: op; \ case 3: op; /*-fallthrough*/ \
case 1: op; \ case 2: op; /*-fallthrough*/ \
case 1: op; /*-fallthrough*/ \
case 0: ; \ case 0: ; \
} }