From a7162188d6d58289691da33ca43308677a6a611f Mon Sep 17 00:00:00 2001 From: Haonan Yang Date: Thu, 29 Aug 2024 20:45:40 +0800 Subject: [PATCH] [NFC] Use std::vector to store large size array. (#2060) windows default stack size is 1M, BUFFER_SIZE is 2 * 1024 * 1024, use array with BUFFER_SIZE elemets on stack can exceed available stack size limits. --- test_conformance/math_brute_force/ternary_float.cpp | 2 +- test_conformance/math_brute_force/ternary_half.cpp | 2 +- test_conformance/math_brute_force/unary_two_results_float.cpp | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/test_conformance/math_brute_force/ternary_float.cpp b/test_conformance/math_brute_force/ternary_float.cpp index 3e024b1e..efde6063 100644 --- a/test_conformance/math_brute_force/ternary_float.cpp +++ b/test_conformance/math_brute_force/ternary_float.cpp @@ -139,7 +139,7 @@ int TestFunc_Float_Float_Float_Float(const Func *f, MTdata d, bool relaxedMode) float maxErrorVal3 = 0.0f; uint64_t step = getTestStep(sizeof(float), BUFFER_SIZE); - cl_uchar overflow[BUFFER_SIZE / sizeof(float)]; + std::vector overflow(BUFFER_SIZE / sizeof(float)); float float_ulps; if (gIsEmbedded) diff --git a/test_conformance/math_brute_force/ternary_half.cpp b/test_conformance/math_brute_force/ternary_half.cpp index a7aa9303..5cb858d4 100644 --- a/test_conformance/math_brute_force/ternary_half.cpp +++ b/test_conformance/math_brute_force/ternary_half.cpp @@ -79,7 +79,7 @@ int TestFunc_Half_Half_Half_Half(const Func *f, MTdata d, bool relaxedMode) constexpr size_t bufferElements = BUFFER_SIZE / sizeof(cl_half); - cl_uchar overflow[bufferElements]; + std::vector overflow(bufferElements); float half_ulps = f->half_ulps; int skipNanInf = (0 == strcmp("fma", f->nameInCode)); diff --git a/test_conformance/math_brute_force/unary_two_results_float.cpp b/test_conformance/math_brute_force/unary_two_results_float.cpp index 983e0395..8a5d3000 100644 --- a/test_conformance/math_brute_force/unary_two_results_float.cpp +++ b/test_conformance/math_brute_force/unary_two_results_float.cpp @@ -51,7 +51,7 @@ int TestFunc_Float2_Float(const Func *f, MTdata d, bool relaxedMode) float maxErrorVal1 = 0.0f; uint64_t step = getTestStep(sizeof(float), BUFFER_SIZE); int scale = (int)((1ULL << 32) / (16 * BUFFER_SIZE / sizeof(float)) + 1); - cl_uchar overflow[BUFFER_SIZE / sizeof(float)]; + std::vector overflow(BUFFER_SIZE / sizeof(float)); int isFract = 0 == strcmp("fract", f->nameInCode); int skipNanInf = isFract && !gInfNanSupport;