From e4561aeb778bab479721fe750fce4d36ccc1f856 Mon Sep 17 00:00:00 2001 From: Robin Getz Date: Sat, 1 Aug 2026 13:53:10 -0400 Subject: [PATCH] ldpctool: Remove VLAs from LogDomainSPA Replace variable length arrays in LogDomainSPA::finalp() with 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 066ffd83f..247f39bdc 100644 --- a/plugins/channelrx/demoddatv/ldpctool/generic.h +++ b/plugins/channelrx/demoddatv/ldpctool/generic.h @@ -589,13 +589,15 @@ struct LogDomainSPA } static void finalp(TYPE *links, int cnt) { - TYPE mags[cnt], sums[cnt]; + std::vector mags(cnt); + std::vector sums(cnt); + std::vector signs(cnt); + for (int i = 0; i < cnt; ++i) mags[i] = phi(std::abs(links[i])); - CODE::exclusive_reduce(mags, sums, cnt, add); - TYPE signs[cnt]; - CODE::exclusive_reduce(links, signs, cnt, sign); + CODE::exclusive_reduce(mags.data(), sums.data(), cnt, add); + CODE::exclusive_reduce(links, signs.data(), cnt, sign); for (int i = 0; i < cnt; ++i) links[i] = sign(phi(sums[i]), signs[i]);