fix: workaround for linking issues on the older clang compilers

This commit is contained in:
Mateusz Pusz
2024-07-30 16:07:45 +02:00
parent f088d544b3
commit f983c31eb2

View File

@@ -334,7 +334,7 @@ struct expr_fractions : decltype(expr_fractions_impl<OneType, type_list<Ts...>>(
// expr_make_spec // expr_make_spec
template<typename NumList, typename DenList, typename OneType, template<typename...> typename To> template<typename NumList, typename DenList, typename OneType, template<typename...> typename To>
[[nodiscard]] consteval auto expr_make_spec_impl() [[nodiscard]] MP_UNITS_CONSTEVAL auto expr_make_spec_impl()
{ {
constexpr std::size_t num = type_list_size<NumList>; constexpr std::size_t num = type_list_size<NumList>;
constexpr std::size_t den = type_list_size<DenList>; constexpr std::size_t den = type_list_size<DenList>;
@@ -359,7 +359,7 @@ template<typename NumList, typename DenList, typename OneType, template<typename
*/ */
template<typename NumList, typename DenList, typename OneType, template<typename, typename> typename Pred, template<typename NumList, typename DenList, typename OneType, template<typename, typename> typename Pred,
template<typename...> typename To> template<typename...> typename To>
[[nodiscard]] consteval auto get_optimized_expression() [[nodiscard]] MP_UNITS_CONSTEVAL auto get_optimized_expression()
{ {
using num_list = expr_consolidate<NumList>; using num_list = expr_consolidate<NumList>;
using den_list = expr_consolidate<DenList>; using den_list = expr_consolidate<DenList>;
@@ -380,7 +380,7 @@ template<typename NumList, typename DenList, typename OneType, template<typename
*/ */
template<template<typename...> typename To, typename OneType, template<typename, typename> typename Pred, typename Lhs, template<template<typename...> typename To, typename OneType, template<typename, typename> typename Pred, typename Lhs,
typename Rhs> typename Rhs>
[[nodiscard]] consteval auto expr_multiply(Lhs, Rhs) [[nodiscard]] MP_UNITS_CONSTEVAL auto expr_multiply(Lhs, Rhs)
{ {
if constexpr (is_same_v<Lhs, OneType>) { if constexpr (is_same_v<Lhs, OneType>) {
return Rhs{}; return Rhs{};