From 25983c66fd265a7912c851536200d69d86d2852f Mon Sep 17 00:00:00 2001 From: Ellen Norris-Thompson Date: Fri, 12 Feb 2021 11:21:28 +0000 Subject: [PATCH] Fix narrowing errors in compiler and spirv_new Contributes #787 Signed-off-by: Ellen Norris-Thompson --- test_conformance/compiler/CMakeLists.txt | 3 --- test_conformance/compiler/test_preprocessor.cpp | 8 ++++---- test_conformance/spirv_new/CMakeLists.txt | 4 ---- .../spirv_new/test_op_composite_construct.cpp | 2 +- test_conformance/spirv_new/test_op_constant.cpp | 4 ++-- test_conformance/spirv_new/test_op_copy_object.cpp | 4 ++-- 6 files changed, 9 insertions(+), 16 deletions(-) diff --git a/test_conformance/compiler/CMakeLists.txt b/test_conformance/compiler/CMakeLists.txt index 5806469a98..e5f7c4432a 100644 --- a/test_conformance/compiler/CMakeLists.txt +++ b/test_conformance/compiler/CMakeLists.txt @@ -1,8 +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 diff --git a/test_conformance/compiler/test_preprocessor.cpp b/test_conformance/compiler/test_preprocessor.cpp index 7308950aee..3c5c2045ea 100644 --- a/test_conformance/compiler/test_preprocessor.cpp +++ b/test_conformance/compiler/test_preprocessor.cpp @@ -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"); @@ -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"); @@ -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"); @@ -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"); diff --git a/test_conformance/spirv_new/CMakeLists.txt b/test_conformance/spirv_new/CMakeLists.txt index 13d8bc7426..7500571d07 100644 --- a/test_conformance/spirv_new/CMakeLists.txt +++ b/test_conformance/spirv_new/CMakeLists.txt @@ -14,10 +14,6 @@ set(MODULE_NAME SPIRV_NEW) set(CMAKE_CXX_STANDARD 11) -if(CMAKE_COMPILER_IS_GNUCC OR "${CMAKE_CXX_COMPILER_ID}" MATCHES "(Apple)?Clang") - add_cxx_flag_if_supported(-Wno-narrowing) -endif() - file(GLOB SPIRV_NEW_SOURCES "*.cpp") set(TEST_HARNESS_SOURCES diff --git a/test_conformance/spirv_new/test_op_composite_construct.cpp b/test_conformance/spirv_new/test_op_composite_construct.cpp index d07ebd3f7f..b10e9d9dbb 100644 --- a/test_conformance/spirv_new/test_op_composite_construct.cpp +++ b/test_conformance/spirv_new/test_op_composite_construct.cpp @@ -65,7 +65,7 @@ TEST_SPIRV_FUNC(op_composite_construct_struct) typedef AbstractStruct2 CustomType1; typedef AbstractStruct2 CustomType2; - CustomType1 value1 = {2100483600, 128}; + CustomType1 value1 = { 2100483600, (char)128 }; cl_int2 intvals = {2100480000, 2100480000}; CustomType2 value2 = {intvals, value1}; diff --git a/test_conformance/spirv_new/test_op_constant.cpp b/test_conformance/spirv_new/test_op_constant.cpp index afffdc35c9..6ec8157204 100644 --- a/test_conformance/spirv_new/test_op_constant.cpp +++ b/test_conformance/spirv_new/test_op_constant.cpp @@ -119,7 +119,7 @@ TEST_SPIRV_FUNC(op_constant_struct_int_float_simple) TEST_SPIRV_FUNC(op_constant_struct_int_char_simple) { - AbstractStruct2 value = {2100483600, 128}; + AbstractStruct2 value = { 2100483600, (char)128 }; std::vector > results(256, value); return test_constant(deviceID, context, queue, "constant_struct_int_char_simple", results); } @@ -129,7 +129,7 @@ TEST_SPIRV_FUNC(op_constant_struct_struct_simple) typedef AbstractStruct2 CustomType1; typedef AbstractStruct2 CustomType2; - CustomType1 value1 = {2100483600, 128}; + CustomType1 value1 = { 2100483600, (char)128 }; cl_int2 intvals = {2100480000, 2100480000}; CustomType2 value2 = {intvals, value1}; diff --git a/test_conformance/spirv_new/test_op_copy_object.cpp b/test_conformance/spirv_new/test_op_copy_object.cpp index b2b9995590..2b6bf8c347 100644 --- a/test_conformance/spirv_new/test_op_copy_object.cpp +++ b/test_conformance/spirv_new/test_op_copy_object.cpp @@ -115,7 +115,7 @@ TEST_SPIRV_FUNC(op_copy_struct_int_float_simple) TEST_SPIRV_FUNC(op_copy_struct_int_char_simple) { - AbstractStruct2 value = {2100483600, 128}; + AbstractStruct2 value = { 2100483600, (char)128 }; std::vector > results(256, value); return test_copy(deviceID, context, queue, "copy_struct_int_char_simple", results); } @@ -125,7 +125,7 @@ TEST_SPIRV_FUNC(op_copy_struct_struct_simple) typedef AbstractStruct2 CustomType1; typedef AbstractStruct2 CustomType2; - CustomType1 value1 = {2100483600, 128}; + CustomType1 value1 = { 2100483600, (char)128 }; cl_int2 intvals = {2100480000, 2100480000}; CustomType2 value2 = {intvals, value1};