From 3a73d837410ce9a4e492f96dce6967777d836ad0 Mon Sep 17 00:00:00 2001 From: Wilson Snyder Date: Sat, 7 Sep 2024 10:20:59 -0400 Subject: [PATCH] Tests: Fix clang 18 warning --- test_regress/t/t_dpi_open_vecval_c.cpp | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/test_regress/t/t_dpi_open_vecval_c.cpp b/test_regress/t/t_dpi_open_vecval_c.cpp index 014db3f38..077aea0a6 100644 --- a/test_regress/t/t_dpi_open_vecval_c.cpp +++ b/test_regress/t/t_dpi_open_vecval_c.cpp @@ -46,6 +46,8 @@ extern int dpii_failure(); int errors = 0; int dpii_failure() { return errors; } +#define TEST_MAX_NELEMS 1024 + static void _invert(int bits, svBitVecVal o[], const svBitVecVal i[]) { for (int w = 0; w < SV_PACKED_DATA_NELEMS(bits); ++w) o[w] = ~i[w]; o[SV_PACKED_DATA_NELEMS(bits) - 1] &= SV_MASK(bits & 31); @@ -91,9 +93,13 @@ static void _dpii_bit_vecval_ux(int bits, int p, int u, const svOpenArrayHandle TEST_CHECK_HEX_EQ(dim, u); #endif - svBitVecVal vv[SV_PACKED_DATA_NELEMS(bits)]; - svBitVecVal vv2[SV_PACKED_DATA_NELEMS(bits)]; - svBitVecVal vo[SV_PACKED_DATA_NELEMS(bits)]; + if (SV_PACKED_DATA_NELEMS(bits) > TEST_MAX_NELEMS) { + fprintf(stderr, "%%Error: Increase TEST_MAX_NELEMS\n"); + abort(); + } + svBitVecVal vv[TEST_MAX_NELEMS]; + svBitVecVal vv2[TEST_MAX_NELEMS]; + svBitVecVal vo[TEST_MAX_NELEMS]; for (int a = svLow(i, 1); a <= svHigh(i, 1); ++a) { fflush(stdout); if (dim == 1) { @@ -162,9 +168,13 @@ static void _dpii_logic_vecval_ux(int bits, int p, int u, const svOpenArrayHandl TEST_CHECK_HEX_EQ(dim, u); #endif - svLogicVecVal vv[SV_PACKED_DATA_NELEMS(bits)]; - svLogicVecVal vv2[SV_PACKED_DATA_NELEMS(bits)]; - svLogicVecVal vo[SV_PACKED_DATA_NELEMS(bits)]; + if (SV_PACKED_DATA_NELEMS(bits) > TEST_MAX_NELEMS) { + fprintf(stderr, "%%Error: Increase TEST_MAX_NELEMS\n"); + abort(); + } + svLogicVecVal vv[TEST_MAX_NELEMS]; + svLogicVecVal vv2[TEST_MAX_NELEMS]; + svLogicVecVal vo[TEST_MAX_NELEMS]; for (int a = svLow(i, 1); a <= svHigh(i, 1); ++a) { fflush(stdout); if (dim == 1) {