From a10746a22a4e2a9dbde90574a674b2a02aa98121 Mon Sep 17 00:00:00 2001 From: Robin Getz Date: Sat, 25 Jul 2026 16:18:25 -0400 Subject: [PATCH] demoddatv: Replace OffsetMinSumAlgorithm VLAs with std::vector Replace the runtime-sized temporary arrays in OffsetMinSumAlgorithm::finalp() with std::vector. The array sizes depend on the runtime value of cnt, requiring compiler support for variable length arrays. Using std::vector removes this non-standard extension while preserving the existing algorithm and memory layout. This eliminates ~24 of remaining -Wvla warnings (for me) reported from ldpctool/algorithms.h. Part of #2830 Signed-off-by: Robin Getz --- plugins/channelrx/demoddatv/ldpctool/algorithms.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/plugins/channelrx/demoddatv/ldpctool/algorithms.h b/plugins/channelrx/demoddatv/ldpctool/algorithms.h index 1ff697acb..5145afdf4 100644 --- a/plugins/channelrx/demoddatv/ldpctool/algorithms.h +++ b/plugins/channelrx/demoddatv/ldpctool/algorithms.h @@ -191,12 +191,13 @@ struct OffsetMinSumAlgorithm, UPDATE, FACTOR> static void finalp(TYPE *links, int cnt) { TYPE beta = vdup(0.5 * FACTOR); - TYPE mags[cnt], mins[cnt]; + std::vector mags(cnt); + std::vector mins(cnt); for (int i = 0; i < cnt; ++i) mags[i] = vmax(vsub(vabs(links[i]), beta), vzero()); CODE::exclusive_reduce(mags, mins, cnt, min); - TYPE signs[cnt]; + std::vector signs(cnt); CODE::exclusive_reduce(links, signs, cnt, sign); for (int i = 0; i < cnt; ++i)