From da1008c5dad5b9cdba4911b74f46265b4a051664 Mon Sep 17 00:00:00 2001 From: Yilong Guo Date: Wed, 6 Aug 2025 00:11:07 +0800 Subject: [PATCH] Fix interger overflow for work-group size calculation (#2455) --- test_conformance/basic/test_work_item_functions.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/test_conformance/basic/test_work_item_functions.cpp b/test_conformance/basic/test_work_item_functions.cpp index 046640b3..6098374c 100644 --- a/test_conformance/basic/test_work_item_functions.cpp +++ b/test_conformance/basic/test_work_item_functions.cpp @@ -476,7 +476,7 @@ struct TestWorkItemFnsOutOfRange maxWorkItemSizes[2] }; // check if maximum work group size for current dimention is not // exceeded - cl_uint work_group_size = max_workgroup_size + 1; + size_t work_group_size = max_workgroup_size + 1; while (max_workgroup_size < work_group_size && work_group_size != 1) { work_group_size = 1; @@ -492,9 +492,9 @@ struct TestWorkItemFnsOutOfRange // compute max number of work groups based on buffer size and max // group size - cl_uint max_work_groups = testData.size() / work_group_size; + size_t max_work_groups = testData.size() / work_group_size; // take into account number of dimentions - cl_uint work_groups_per_dim = + size_t work_groups_per_dim = std::max(1, (int)pow(max_work_groups, 1.f / dim)); for (size_t j = 0; j < dim; j++)