refactor: update Clang 14 to not require range-v3 (#321)

* Revert "refactor: update hacks for LLVM 14"

This reverts commit d142844de7.

* refactor: update Clang 14 to not require range-v3
This commit is contained in:
Johel Ernesto Guerrero Peña
2021-12-13 05:01:16 -04:00
committed by GitHub
parent eb94f1cc0e
commit 4efed3c6d4
6 changed files with 8 additions and 12 deletions

View File

@@ -77,10 +77,11 @@ class UnitsConan(ConanFile):
def requirements(self):
compiler = self.settings.compiler
version = Version(self.settings.compiler.version)
if self._use_libfmt:
self.requires("fmt/8.0.1")
if compiler == "clang" and compiler.libcxx == "libc++":
if compiler == "clang" and compiler.libcxx == "libc++" and version < "14.0":
self.requires("range-v3/0.11.0")
def build_requirements(self):

View File

@@ -45,7 +45,7 @@ target_include_directories(mp-units-core ${unitsAsSystem} INTERFACE
)
if(CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
if(${projectPrefix}LIBCXX)
if(${projectPrefix}LIBCXX AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS "14")
find_package(range-v3 CONFIG REQUIRED)
target_link_libraries(mp-units-core INTERFACE range-v3::range-v3)
endif()

View File

@@ -84,7 +84,7 @@
#include <range/v3/iterator/concepts.hpp>
#include <range/v3/range/concepts.hpp>
#elif UNITS_COMP_CLANG == 13 || UNITS_COMP_CLANG == 14
#elif UNITS_COMP_CLANG == 13
#include <range/v3/functional/comparisons.hpp>
@@ -228,15 +228,10 @@ constexpr bool in_range(T t) noexcept
std::cmp_less_equal(t, std::numeric_limits<R>::max());
}
#elif UNITS_COMP_CLANG == 13 || UNITS_COMP_CLANG == 14
#if UNITS_COMP_CLANG == 13
#elif UNITS_COMP_CLANG == 13
using concepts::three_way_comparable;
using concepts::three_way_comparable_with;
#endif
using ::ranges::compare_three_way;
#endif

View File

@@ -383,7 +383,7 @@ public:
};
// CTAD
#if !UNITS_COMP_CLANG || UNITS_COMP_CLANG > 13
#if !UNITS_COMP_CLANG || UNITS_COMP_CLANG > 14
template<typename D, typename U, typename Rep>
explicit(false) quantity(Rep&&) -> quantity<D, U, Rep>;
#endif

View File

@@ -45,7 +45,7 @@ find_dependency(gsl-lite)
# add range-v3 dependency only for clang + libc++
if(CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
__check_libcxx_in_use(__units_libcxx)
if(__units_libcxx)
if(__units_libcxx AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS "14")
find_dependency(range-v3)
endif()
unset(__units_libcxx)

View File

@@ -273,7 +273,7 @@ static_assert(get_length_derived_quantity() == 1_q_m);
// CTAD
/////////
#if UNITS_COMP_GCC >= 11 || UNITS_COMP_CLANG > 13
#if UNITS_COMP_GCC >= 11 || UNITS_COMP_CLANG > 14
static_assert(std::is_same_v<decltype(units::aliases::isq::si::m(123))::rep, int>);
static_assert(std::is_same_v<decltype(units::aliases::isq::si::m(123.))::rep, double>);
#endif