From fb973b01e1abb7c1ef40900d510664c34d94992e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phane=20Del=20Pino?= <stephane.delpino44@gmail.com> Date: Thu, 30 Jun 2022 09:36:26 +0200 Subject: [PATCH] Change stringify utility to avoid a compiler bug in GitLab/CI This is strange, I cannot reproduce this compilation issue using various installations of clang-10 ... --- .../node_processor/AffectationProcessor.hpp | 24 +++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/src/language/node_processor/AffectationProcessor.hpp b/src/language/node_processor/AffectationProcessor.hpp index 4fc2bc90b..3a354f2a4 100644 --- a/src/language/node_processor/AffectationProcessor.hpp +++ b/src/language/node_processor/AffectationProcessor.hpp @@ -98,7 +98,11 @@ class AffectationExecutor final : public IAffectationExecutor if constexpr (m_is_defined) { auto stringify = [](auto&& value) { std::ostringstream os; - os << std::boolalpha << value; + if constexpr (std::is_same_v<std::decay_t<decltype(value)>, bool>) { + os << std::boolalpha << value; + } else { + os << value; + } return os.str(); }; @@ -445,7 +449,11 @@ class AffectationToTupleProcessor final : public AffectationToDataVariantProcess { auto stringify = [](auto&& value) { std::ostringstream os; - os << std::boolalpha << value; + if constexpr (std::is_same_v<std::decay_t<decltype(value)>, bool>) { + os << std::boolalpha << value; + } else { + os << value; + } return os.str(); }; @@ -500,7 +508,11 @@ class AffectationToTupleFromListProcessor final : public AffectationToDataVarian { auto stringify = [](auto&& value) { std::ostringstream os; - os << std::boolalpha << value; + if constexpr (std::is_same_v<std::decay_t<decltype(value)>, bool>) { + os << std::boolalpha << value; + } else { + os << value; + } return os.str(); }; @@ -563,7 +575,11 @@ class AffectationToTupleFromListProcessor final : public AffectationToDataVarian { auto stringify = [](auto&& value) { std::ostringstream os; - os << std::boolalpha << value; + if constexpr (std::is_same_v<std::decay_t<decltype(value)>, bool>) { + os << std::boolalpha << value; + } else { + os << value; + } return os.str(); }; -- GitLab