From 0c97be0be17445438d3379ddae95d612237059d7 Mon Sep 17 00:00:00 2001 From: Mateusz Pusz Date: Tue, 27 Feb 2024 10:22:26 +0100 Subject: [PATCH] refactor: workaround for clang bug added to `unit_symbol()` and `dimension_symbol()` --- src/core/include/mp-units/dimension.h | 5 +++++ src/core/include/mp-units/unit.h | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/src/core/include/mp-units/dimension.h b/src/core/include/mp-units/dimension.h index 6ab680f4..0ddd22bf 100644 --- a/src/core/include/mp-units/dimension.h +++ b/src/core/include/mp-units/dimension.h @@ -24,6 +24,7 @@ #include #include +#include #include #include #include @@ -305,7 +306,11 @@ template +#if defined MP_UNITS_COMP_CLANG && MP_UNITS_COMP_CLANG <= 18 +[[nodiscard]] constexpr auto dimension_symbol(D) +#else [[nodiscard]] consteval auto dimension_symbol(D) +#endif { auto get_size = []() consteval { std::basic_string buffer; diff --git a/src/core/include/mp-units/unit.h b/src/core/include/mp-units/unit.h index ca63e0b2..4526333e 100644 --- a/src/core/include/mp-units/unit.h +++ b/src/core/include/mp-units/unit.h @@ -25,6 +25,7 @@ #include #include #include +#include #include #include #include @@ -826,7 +827,11 @@ template // TODO Refactor to `unit_symbol(U, fmt)` when P1045: constexpr Function Parameters is available MP_UNITS_EXPORT template +#if defined MP_UNITS_COMP_CLANG && MP_UNITS_COMP_CLANG <= 18 +[[nodiscard]] constexpr auto unit_symbol(U) +#else [[nodiscard]] consteval auto unit_symbol(U) +#endif { auto get_size = []() consteval { std::basic_string buffer;