From 10ef76905c3e2edaf9cff603374f5b142be6badf Mon Sep 17 00:00:00 2001 From: Alexander Alekhin Date: Fri, 15 Jan 2021 10:14:52 +0000 Subject: [PATCH] gapi: avoid global static initializers - use lazy on-demand initialization --- modules/gapi/src/compiler/passes/kernels.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/modules/gapi/src/compiler/passes/kernels.cpp b/modules/gapi/src/compiler/passes/kernels.cpp index 837e21f19a..a9d2b7aab4 100644 --- a/modules/gapi/src/compiler/passes/kernels.cpp +++ b/modules/gapi/src/compiler/passes/kernels.cpp @@ -25,15 +25,18 @@ #include "logger.hpp" // GAPI_LOG #include "api/gproto_priv.hpp" // is_dynamic, rewrap -namespace +static +const std::vector& getKnownIntrinsics() { // FIXME: This may be not the right design choice, but so far it works - const std::vector known_intrinsics = { + static const std::vector known_intrinsics = { cv::gapi::streaming::detail::GDesync::id() }; + return known_intrinsics; } bool cv::gimpl::is_intrinsic(const std::string &s) { // FIXME: This search might be better in time once we start using string + const std::vector& known_intrinsics = getKnownIntrinsics(); return std::find(known_intrinsics.begin(), known_intrinsics.end(), s) != known_intrinsics.end();