From 5c2cda40f29a1ac93d56ef753bd73a11815a5133 Mon Sep 17 00:00:00 2001 From: Ilya Lavrenov Date: Wed, 26 Jul 2023 15:15:45 +0400 Subject: [PATCH] Fixed -Wabi warnings in headers (#18796) * Fixed a lot of -Wabi warnings * Added dtors for frontend conversion extensions for RTTI --- src/core/include/openvino/pass/pass_config.hpp | 7 ++++--- src/core/src/pass/pass_config.cpp | 6 ++++++ .../openvino/frontend/onnx/extension/conversion.hpp | 2 ++ src/frontends/onnx/frontend/src/extensions.cpp | 7 +++++++ .../openvino/frontend/paddle/extension/conversion.hpp | 2 ++ src/frontends/paddle/src/extensions.cpp | 7 +++++++ .../openvino/frontend/pytorch/extension/conversion.hpp | 2 +- src/frontends/pytorch/src/extensions.cpp | 7 +++++++ 8 files changed, 36 insertions(+), 4 deletions(-) create mode 100644 src/frontends/onnx/frontend/src/extensions.cpp create mode 100644 src/frontends/paddle/src/extensions.cpp create mode 100644 src/frontends/pytorch/src/extensions.cpp diff --git a/src/core/include/openvino/pass/pass_config.hpp b/src/core/include/openvino/pass/pass_config.hpp index 4de547ba449..04f020d3a2b 100644 --- a/src/core/include/openvino/pass/pass_config.hpp +++ b/src/core/include/openvino/pass/pass_config.hpp @@ -56,6 +56,9 @@ using param_callback_map = std::map; /// \ingroup ov_pass_cpp_api class OPENVINO_API PassConfig { public: + /// \brief Default constructor + PassConfig(); + /// \brief Disable transformation by its type_info /// \param type_info Transformation type_info void disable(const DiscreteTypeInfo& type_info); @@ -157,9 +160,7 @@ public: void add_disabled_passes(const PassConfig& rhs); private: - param_callback m_callback = [](const std::shared_ptr&) { - return false; - }; + param_callback m_callback; param_callback_map m_callback_map; std::unordered_set m_disabled; std::unordered_set m_enabled; diff --git a/src/core/src/pass/pass_config.cpp b/src/core/src/pass/pass_config.cpp index ceab00cb147..63b710ba2f6 100644 --- a/src/core/src/pass/pass_config.cpp +++ b/src/core/src/pass/pass_config.cpp @@ -4,6 +4,12 @@ #include "openvino/pass/pass_config.hpp" +ov::pass::PassConfig::PassConfig() { + m_callback = [](const std::shared_ptr&) { + return false; + }; +} + ov::pass::param_callback ov::pass::PassConfig::get_callback(const DiscreteTypeInfo& type_info) const { const auto& it = m_callback_map.find(type_info); if (it != m_callback_map.end()) { diff --git a/src/frontends/onnx/frontend/include/openvino/frontend/onnx/extension/conversion.hpp b/src/frontends/onnx/frontend/include/openvino/frontend/onnx/extension/conversion.hpp index 58e72b319c8..eae00b42f6d 100644 --- a/src/frontends/onnx/frontend/include/openvino/frontend/onnx/extension/conversion.hpp +++ b/src/frontends/onnx/frontend/include/openvino/frontend/onnx/extension/conversion.hpp @@ -26,6 +26,8 @@ public: m_domain{domain}, m_converter(converter) {} + ~ConversionExtension() override; + const std::string& get_domain() const { return m_domain; } diff --git a/src/frontends/onnx/frontend/src/extensions.cpp b/src/frontends/onnx/frontend/src/extensions.cpp new file mode 100644 index 00000000000..318298acc17 --- /dev/null +++ b/src/frontends/onnx/frontend/src/extensions.cpp @@ -0,0 +1,7 @@ +// Copyright (C) 2018-2023 Intel Corporation +// SPDX-License-Identifier: Apache-2.0 +// + +#include "openvino/frontend/onnx/extension/conversion.hpp" + +ov::frontend::onnx::ConversionExtension::~ConversionExtension() = default; diff --git a/src/frontends/paddle/include/openvino/frontend/paddle/extension/conversion.hpp b/src/frontends/paddle/include/openvino/frontend/paddle/extension/conversion.hpp index 283213c3ad0..ea46e207a04 100644 --- a/src/frontends/paddle/include/openvino/frontend/paddle/extension/conversion.hpp +++ b/src/frontends/paddle/include/openvino/frontend/paddle/extension/conversion.hpp @@ -23,6 +23,8 @@ public: : ConversionExtensionBase(op_type), m_converter(converter) {} + ~ConversionExtension() override; + const ov::frontend::CreatorFunctionNamed& get_converter() const { return m_converter; } diff --git a/src/frontends/paddle/src/extensions.cpp b/src/frontends/paddle/src/extensions.cpp new file mode 100644 index 00000000000..37407bc051d --- /dev/null +++ b/src/frontends/paddle/src/extensions.cpp @@ -0,0 +1,7 @@ +// Copyright (C) 2018-2023 Intel Corporation +// SPDX-License-Identifier: Apache-2.0 +// + +#include "openvino/frontend/paddle/extension/conversion.hpp" + +ov::frontend::paddle::ConversionExtension::~ConversionExtension() = default; diff --git a/src/frontends/pytorch/include/openvino/frontend/pytorch/extension/conversion.hpp b/src/frontends/pytorch/include/openvino/frontend/pytorch/extension/conversion.hpp index a1b102cead4..6c321ccd22d 100644 --- a/src/frontends/pytorch/include/openvino/frontend/pytorch/extension/conversion.hpp +++ b/src/frontends/pytorch/include/openvino/frontend/pytorch/extension/conversion.hpp @@ -27,7 +27,7 @@ public: return m_converter; } - ~ConversionExtension() override = default; + ~ConversionExtension() override; private: ov::frontend::CreatorFunction m_converter; diff --git a/src/frontends/pytorch/src/extensions.cpp b/src/frontends/pytorch/src/extensions.cpp new file mode 100644 index 00000000000..77780f4df6d --- /dev/null +++ b/src/frontends/pytorch/src/extensions.cpp @@ -0,0 +1,7 @@ +// Copyright (C) 2018-2023 Intel Corporation +// SPDX-License-Identifier: Apache-2.0 +// + +#include "openvino/frontend/pytorch/extension/conversion.hpp" + +ov::frontend::pytorch::ConversionExtension::~ConversionExtension() = default;