[lib] Make lib compatible with -Wfall-through excepting legacy

Switch to a macro `ZSTD_FALLTHROUGH;` instead of a comment. On supported
compilers this uses an attribute, otherwise it becomes a comment.

This is necessary to be compatible with clang's `-Wfall-through`, and
gcc's `-Wfall-through=2` which don't support comments. Without this the
linux build emits a bunch of warnings.

Also add a test to CI to ensure that we don't regress.
This commit is contained in:
Nick Terrell
2021-09-23 10:51:18 -07:00
parent e3feec74d3
commit 189e87bcbe
11 changed files with 81 additions and 24 deletions
+1 -1
View File
@@ -560,7 +560,7 @@ MEM_STATIC int ZSTD_literalsCompressionIsDisabled(const ZSTD_CCtx_params* cctxPa
return 1;
default:
assert(0 /* impossible: pre-validated */);
/* fall-through */
ZSTD_FALLTHROUGH;
case ZSTD_ps_auto:
return (cctxParams->cParams.strategy == ZSTD_fast) && (cctxParams->cParams.targetLength > 0);
}