Skip to content

Commit

Permalink
Fix narrowing errors in compiler and spirv_new
Browse files Browse the repository at this point in the history
Contributes KhronosGroup#787

Signed-off-by: Ellen Norris-Thompson <ellen.norris-thompson@arm.com>
  • Loading branch information
ellnor01 authored and ahesham-arm committed Sep 22, 2024
1 parent b48b504 commit 2c9e7d3
Show file tree
Hide file tree
Showing 7 changed files with 13 additions and 16 deletions.
4 changes: 0 additions & 4 deletions test_conformance/compiler/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,9 +1,5 @@
set(MODULE_NAME COMPILER)

if(CMAKE_COMPILER_IS_GNUCC OR "${CMAKE_CXX_COMPILER_ID}" MATCHES "(Apple)?Clang")
add_cxx_flag_if_supported(-Wno-narrowing)
endif()

set(${MODULE_NAME}_SOURCES
main.cpp
test_build_helpers.cpp
Expand Down
8 changes: 4 additions & 4 deletions test_conformance/compiler/test_preprocessor.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ int test_preprocessor_define_udef(cl_device_id deviceID, cl_context context, cl_
error = clEnqueueWriteBuffer(queue, buffer[0], CL_TRUE, 0, num_elements*sizeof(cl_int), srcData, 0, NULL, NULL);
test_error(error, "clEnqueueWriteBuffer failed");

size_t threads[3] = {num_elements, 0, 0};
size_t threads[3] = { (size_t)num_elements, 0, 0 };
error = clEnqueueNDRangeKernel(queue, kernel, 1, NULL, threads, NULL, 0, NULL, NULL);
test_error(error, "clEnqueueNDRangeKernel failed");

Expand Down Expand Up @@ -175,7 +175,7 @@ int test_preprocessor_include(cl_device_id deviceID, cl_context context, cl_comm
error = clSetKernelArg(kernel, 1, sizeof(buffer[1]), &buffer[1]);
test_error(error, "clSetKernelArg failed");

size_t threads[3] = {num_elements, 0, 0};
size_t threads[3] = { (size_t)num_elements, 0, 0 };
error = clEnqueueNDRangeKernel(queue, kernel, 1, NULL, threads, NULL, 0, NULL, NULL);
test_error(error, "clEnqueueNDRangeKernel failed");

Expand Down Expand Up @@ -272,7 +272,7 @@ int test_preprocessor_line_error(cl_device_id deviceID, cl_context context, cl_c
error = clSetKernelArg(kernel, 0, sizeof(buffer[0]), &buffer[0]);
test_error(error, "clSetKernelArg failed");

size_t threads[3] = {num_elements, 0, 0};
size_t threads[3] = { (size_t)num_elements, 0, 0 };
error = clEnqueueNDRangeKernel(queue, kernel, 1, NULL, threads, NULL, 0, NULL, NULL);
test_error(error, "clEnqueueNDRangeKernel failed");

Expand Down Expand Up @@ -313,7 +313,7 @@ int test_preprocessor_pragma(cl_device_id deviceID, cl_context context, cl_comma
error = clSetKernelArg(kernel, 0, sizeof(buffer[0]), &buffer[0]);
test_error(error, "clSetKernelArg failed");

size_t threads[3] = {num_elements, 0, 0};
size_t threads[3] = { (size_t)num_elements, 0, 0 };
error = clEnqueueNDRangeKernel(queue, kernel, 1, NULL, threads, NULL, 0, NULL, NULL);
test_error(error, "clEnqueueNDRangeKernel failed");

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -274,7 +274,9 @@ struct CommandBufferPrintfTest : public BasicCommandBufferTest
&pattern[0], 0, nullptr, nullptr);
test_error(error, "clEnqueueWriteBuffer failed");

size_t offset[] = { 0, pattern.size() - 1 };
test_assert_error(pattern.size() - 1 <= CL_UINT_MAX,
"pattern.size() - 1 does not fit in a cl_uint");
cl_uint offset[] = { 0, static_cast<cl_uint>(pattern.size() - 1) };
error = clEnqueueWriteBuffer(queue, off_mem, CL_TRUE, 0, sizeof(offset),
offset, 0, nullptr, nullptr);
test_error(error, "clEnqueueWriteBuffer failed");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -115,8 +115,7 @@ struct CreateCommandBufferRepeatedProperties : public BasicCommandBufferTest
TEST_FAIL);

cl_command_buffer_properties_khr invalid_properties[3] = {
CL_COMMAND_BUFFER_FLAGS_KHR,
(cl_command_buffer_properties_khr)CL_INVALID_PROPERTY, 0
CL_COMMAND_BUFFER_FLAGS_KHR, (cl_command_buffer_properties_khr)-1, 0
};

command_buffer =
Expand Down
2 changes: 1 addition & 1 deletion test_conformance/spirv_new/test_op_composite_construct.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ TEST_SPIRV_FUNC(op_composite_construct_struct)
typedef AbstractStruct2<int, char> CustomType1;
typedef AbstractStruct2<cl_int2, CustomType1> CustomType2;

CustomType1 value1 = {2100483600, 128};
CustomType1 value1 = { 2100483600, (char)128 };
cl_int2 intvals = { { 2100480000, 2100480000 } };
CustomType2 value2 = {intvals, value1};

Expand Down
4 changes: 2 additions & 2 deletions test_conformance/spirv_new/test_op_constant.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,7 @@ TEST_SPIRV_FUNC(op_constant_struct_int_float_simple)

TEST_SPIRV_FUNC(op_constant_struct_int_char_simple)
{
AbstractStruct2<int, char> value = {2100483600, 128};
AbstractStruct2<int, char> value = { 2100483600, (char)128 };
std::vector<AbstractStruct2<int, char> > results(256, value);
return test_constant(deviceID, context, queue, "constant_struct_int_char_simple", results);
}
Expand All @@ -132,7 +132,7 @@ TEST_SPIRV_FUNC(op_constant_struct_struct_simple)
typedef AbstractStruct2<int, char> CustomType1;
typedef AbstractStruct2<cl_int2, CustomType1> CustomType2;

CustomType1 value1 = {2100483600, 128};
CustomType1 value1 = { 2100483600, (char)128 };
cl_int2 intvals = { { 2100480000, 2100480000 } };
CustomType2 value2 = {intvals, value1};

Expand Down
4 changes: 2 additions & 2 deletions test_conformance/spirv_new/test_op_copy_object.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,7 @@ TEST_SPIRV_FUNC(op_copy_struct_int_float_simple)

TEST_SPIRV_FUNC(op_copy_struct_int_char_simple)
{
AbstractStruct2<int, char> value = {2100483600, 128};
AbstractStruct2<int, char> value = { 2100483600, (char)128 };
std::vector<AbstractStruct2<int, char> > results(256, value);
return test_copy(deviceID, context, queue, "copy_struct_int_char_simple", results);
}
Expand All @@ -128,7 +128,7 @@ TEST_SPIRV_FUNC(op_copy_struct_struct_simple)
typedef AbstractStruct2<int, char> CustomType1;
typedef AbstractStruct2<cl_int2, CustomType1> CustomType2;

CustomType1 value1 = {2100483600, 128};
CustomType1 value1 = { 2100483600, (char)128 };
cl_int2 intvals = { { 2100480000, 2100480000 } };
CustomType2 value2 = {intvals, value1};

Expand Down

0 comments on commit 2c9e7d3

Please sign in to comment.