* 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>
* 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
@ -329,34 +329,64 @@ Fax3Decode2D(TIFF* tif, uint8* buf, tmsize_t occ, uint16 s)
#if SIZEOF_UNSIGNED_LONG == 8
# define FILL(n, cp) \
switch (n) { \
case 15:(cp)[14] = 0xff; case 14:(cp)[13] = 0xff; case 13: (cp)[12] = 0xff;\
case 12:(cp)[11] = 0xff; case 11:(cp)[10] = 0xff; case 10: (cp)[9] = 0xff;\
case 9: (cp)[8] = 0xff; case 8: (cp)[7] = 0xff; case 7: (cp)[6] = 0xff;\
case 6: (cp)[5] = 0xff; case 5: (cp)[4] = 0xff; case 4: (cp)[3] = 0xff;\
case 3: (cp)[2] = 0xff; case 2: (cp)[1] = 0xff; \
case 1: (cp)[0] = 0xff; (cp) += (n); case 0: ; \
case 15:(cp)[14] = 0xff; /*-fallthrough*/ \
case 14:(cp)[13] = 0xff; /*-fallthrough*/ \
case 13:(cp)[12] = 0xff; /*-fallthrough*/ \
case 12:(cp)[11] = 0xff; /*-fallthrough*/ \
case 11:(cp)[10] = 0xff; /*-fallthrough*/ \
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) \
switch (n) { \
case 15:(cp)[14] = 0; case 14:(cp)[13] = 0; case 13: (cp)[12] = 0; \
case 12:(cp)[11] = 0; case 11:(cp)[10] = 0; case 10: (cp)[9] = 0; \
case 9: (cp)[8] = 0; case 8: (cp)[7] = 0; case 7: (cp)[6] = 0; \
case 6: (cp)[5] = 0; case 5: (cp)[4] = 0; case 4: (cp)[3] = 0; \
case 3: (cp)[2] = 0; case 2: (cp)[1] = 0; \
case 1: (cp)[0] = 0; (cp) += (n); case 0: ; \
case 15:(cp)[14] = 0; /*-fallthrough*/ \
case 14:(cp)[13] = 0; /*-fallthrough*/ \
case 13:(cp)[12] = 0; /*-fallthrough*/ \
case 12:(cp)[11] = 0; /*-fallthrough*/ \
case 11:(cp)[10] = 0; /*-fallthrough*/ \
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
# define FILL(n, cp) \
switch (n) { \
case 7: (cp)[6] = 0xff; case 6: (cp)[5] = 0xff; case 5: (cp)[4] = 0xff; \
case 4: (cp)[3] = 0xff; case 3: (cp)[2] = 0xff; case 2: (cp)[1] = 0xff; \
case 1: (cp)[0] = 0xff; (cp) += (n); case 0: ; \
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) \
switch (n) { \
case 7: (cp)[6] = 0; case 6: (cp)[5] = 0; case 5: (cp)[4] = 0; \
case 4: (cp)[3] = 0; case 3: (cp)[2] = 0; case 2: (cp)[1] = 0; \
case 1: (cp)[0] = 0; (cp) += (n); case 0: ; \
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: ; \
}
#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
@ -1133,11 +1133,15 @@ gtStripSeparate(TIFFRGBAImage* img, uint32* raster, uint32 w, uint32 h)
#define REPEAT2(op) op; op
#define CASE8(x,op) \
switch (x) { \
case 7: op; case 6: op; case 5: op; \
case 4: op; case 3: op; case 2: op; \
case 7: op; /*-fallthrough*/ \
case 6: op; /*-fallthrough*/ \
case 5: op; /*-fallthrough*/ \
case 4: op; /*-fallthrough*/ \
case 3: op; /*-fallthrough*/ \
case 2: op; /*-fallthrough*/ \
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 UNROLL8(w, op1, op2) { \
@ -2043,9 +2047,9 @@ DECLAREContigPutFunc(putcontig8bitYCbCr41tile)
int32 Cr = pp[5];
switch( (w&3) ) {
case 3: YCbCrtoRGB(cp [2], pp[2]);
case 2: YCbCrtoRGB(cp [1], pp[1]);
case 1: YCbCrtoRGB(cp [0], pp[0]);
case 3: YCbCrtoRGB(cp [2], pp[2]); /*-fallthrough*/
case 2: YCbCrtoRGB(cp [1], pp[1]); /*-fallthrough*/
case 1: YCbCrtoRGB(cp [0], pp[0]); /*-fallthrough*/
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
@ -259,11 +259,12 @@ PredictorSetupEncode(TIFF* tif)
#define REPEAT4(n, op) \
switch (n) { \
default: { tmsize_t i; for (i = n-4; i > 0; i--) { op; } } \
case 4: op; \
case 3: op; \
case 2: op; \
case 1: op; \
default: { \
tmsize_t i; for (i = n-4; i > 0; i--) { op; } } /*-fallthrough*/ \
case 4: op; /*-fallthrough*/ \
case 3: op; /*-fallthrough*/ \
case 2: op; /*-fallthrough*/ \
case 1: op; /*-fallthrough*/ \
case 0: ; \
}