From d980365680a0bcbde146ad6a7693c0dc1e9d4a34 Mon Sep 17 00:00:00 2001 From: Tomasz Jankowski Date: Tue, 13 Dec 2022 14:50:54 +0100 Subject: [PATCH] [Offline Transformations] Avoid VC warnings (#14605) --- src/common/offline_transformations/CMakeLists.txt | 5 ----- .../src/pruning/shrink_weights.cpp | 9 ++++++--- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/src/common/offline_transformations/CMakeLists.txt b/src/common/offline_transformations/CMakeLists.txt index f7371a1cd6f..89bc835c4e8 100644 --- a/src/common/offline_transformations/CMakeLists.txt +++ b/src/common/offline_transformations/CMakeLists.txt @@ -4,11 +4,6 @@ set(TARGET_NAME "offline_transformations") -if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC") - ie_add_compiler_flags(/wd4244) - ie_add_compiler_flags(/wd4267) -endif() - file(GLOB_RECURSE LIBRARY_SRC ${CMAKE_CURRENT_SOURCE_DIR}/src/*.cpp) file(GLOB_RECURSE PUBLIC_HEADERS ${CMAKE_CURRENT_SOURCE_DIR}/include/*.hpp) diff --git a/src/common/offline_transformations/src/pruning/shrink_weights.cpp b/src/common/offline_transformations/src/pruning/shrink_weights.cpp index 8f7c2f2658d..16c8c18805a 100644 --- a/src/common/offline_transformations/src/pruning/shrink_weights.cpp +++ b/src/common/offline_transformations/src/pruning/shrink_weights.cpp @@ -40,10 +40,13 @@ static bool is_static_reshape_op(std::shared_ptr node) { if (!output_shape_const_op) return false; - const auto input_shape = input.get_shape(); + const auto& input_shape = input.get_shape(); const auto output_shape = output_shape_const_op->cast_vector(); - const auto input_elems = std::accumulate(input_shape.begin(), input_shape.end(), 1, std::multiplies()); - const auto output_elems = std::accumulate(output_shape.begin(), output_shape.end(), 1, std::multiplies()); + // below casts are needed due to VC warning C4244, literals are not enough in this case + const auto input_elems = + std::accumulate(input_shape.begin(), input_shape.end(), static_cast(1), std::multiplies()); + const auto output_elems = + std::accumulate(output_shape.begin(), output_shape.end(), static_cast(1), std::multiplies()); if (output_elems <= 0 || input_elems == output_elems) return false; return true;