From 1f628755638c7404b66e25b3d2fcddc612789feb Mon Sep 17 00:00:00 2001 From: Robin Getz Date: Sat, 1 Aug 2026 13:42:59 -0400 Subject: [PATCH] ldpctool: Remove VLAs from OffsetMinSumAlgorithm Replace variable length arrays in OffsetMinSumAlgorithm::finalp() with a std::vector buffers. This removes reliance on compiler VLA extensions while preserving the existing contiguous temporary buffer layout. Signed-off-by: Robin Getz --- plugins/channelrx/demoddatv/ldpctool/generic.h | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/plugins/channelrx/demoddatv/ldpctool/generic.h b/plugins/channelrx/demoddatv/ldpctool/generic.h index 1cae14716..489a36edb 100644 --- a/plugins/channelrx/demoddatv/ldpctool/generic.h +++ b/plugins/channelrx/demoddatv/ldpctool/generic.h @@ -248,13 +248,15 @@ struct OffsetMinSumAlgorithm static void finalp(TYPE *links, int cnt) { TYPE beta = 0.5 * FACTOR; - TYPE mags[cnt], mins[cnt]; + std::vector mags(cnt); + std::vector mins(cnt); + std::vector signs(cnt); + for (int i = 0; i < cnt; ++i) mags[i] = std::max(std::abs(links[i]) - beta, TYPE(0)); - CODE::exclusive_reduce(mags, mins, cnt, min); - TYPE signs[cnt]; - CODE::exclusive_reduce(links, signs, cnt, sign); + CODE::exclusive_reduce(mags.data(), mins.data(), cnt, min); + CODE::exclusive_reduce(links, signs.data(), cnt, sign); for (int i = 0; i < cnt; ++i) links[i] = sign(mins[i], signs[i]);