diff --git a/lib/decompress/huf_decompress.c b/lib/decompress/huf_decompress.c index 5bbdef49ad5..d2b41929b55 100644 --- a/lib/decompress/huf_decompress.c +++ b/lib/decompress/huf_decompress.c @@ -299,21 +299,12 @@ static size_t HUF_initRemainingDStream(BIT_DStream_t* bit, HUF_DecompressFastArg } /* Calls X(N) for each stream 0, 1, 2, 3. */ -#define HUF_4X_FOR_EACH_STREAM(X) \ - { \ - X(0) \ - X(1) \ - X(2) \ - X(3) \ - } - -/* Calls X(N, var) for each stream 0, 1, 2, 3. */ -#define HUF_4X_FOR_EACH_STREAM_WITH_VAR(X, var) \ - { \ - X(0, (var)) \ - X(1, (var)) \ - X(2, (var)) \ - X(3, (var)) \ +#define HUF_4X_FOR_EACH_STREAM(X, ...) \ + { \ + X(0, ##__VA_ARGS__) \ + X(1, ##__VA_ARGS__) \ + X(2, ##__VA_ARGS__) \ + X(3, ##__VA_ARGS__) \ } @@ -800,11 +791,11 @@ void HUF_decompress4X1_usingDTable_internal_fast_c_loop(HUF_DecompressFastArgs* */ do { /* Decode 5 symbols in each of the 4 streams */ - HUF_4X_FOR_EACH_STREAM_WITH_VAR(HUF_4X1_DECODE_SYMBOL, 0) - HUF_4X_FOR_EACH_STREAM_WITH_VAR(HUF_4X1_DECODE_SYMBOL, 1) - HUF_4X_FOR_EACH_STREAM_WITH_VAR(HUF_4X1_DECODE_SYMBOL, 2) - HUF_4X_FOR_EACH_STREAM_WITH_VAR(HUF_4X1_DECODE_SYMBOL, 3) - HUF_4X_FOR_EACH_STREAM_WITH_VAR(HUF_4X1_DECODE_SYMBOL, 4) + HUF_4X_FOR_EACH_STREAM(HUF_4X1_DECODE_SYMBOL, 0) + HUF_4X_FOR_EACH_STREAM(HUF_4X1_DECODE_SYMBOL, 1) + HUF_4X_FOR_EACH_STREAM(HUF_4X1_DECODE_SYMBOL, 2) + HUF_4X_FOR_EACH_STREAM(HUF_4X1_DECODE_SYMBOL, 3) + HUF_4X_FOR_EACH_STREAM(HUF_4X1_DECODE_SYMBOL, 4) /* Reload each of the 4 the bitstreams */ HUF_4X_FOR_EACH_STREAM(HUF_4X1_RELOAD_STREAM) @@ -1616,11 +1607,11 @@ void HUF_decompress4X2_usingDTable_internal_fast_c_loop(HUF_DecompressFastArgs* * The final stream will be decoded during the reload phase * to reduce register pressure. */ - HUF_4X_FOR_EACH_STREAM_WITH_VAR(HUF_4X2_DECODE_SYMBOL, 0) - HUF_4X_FOR_EACH_STREAM_WITH_VAR(HUF_4X2_DECODE_SYMBOL, 0) - HUF_4X_FOR_EACH_STREAM_WITH_VAR(HUF_4X2_DECODE_SYMBOL, 0) - HUF_4X_FOR_EACH_STREAM_WITH_VAR(HUF_4X2_DECODE_SYMBOL, 0) - HUF_4X_FOR_EACH_STREAM_WITH_VAR(HUF_4X2_DECODE_SYMBOL, 0) + HUF_4X_FOR_EACH_STREAM(HUF_4X2_DECODE_SYMBOL, 0) + HUF_4X_FOR_EACH_STREAM(HUF_4X2_DECODE_SYMBOL, 0) + HUF_4X_FOR_EACH_STREAM(HUF_4X2_DECODE_SYMBOL, 0) + HUF_4X_FOR_EACH_STREAM(HUF_4X2_DECODE_SYMBOL, 0) + HUF_4X_FOR_EACH_STREAM(HUF_4X2_DECODE_SYMBOL, 0) /* Decode one symbol from the final stream */ HUF_4X2_DECODE_SYMBOL(3, 1)