Merge branch 'mpusz:master' into master

This commit is contained in:
Ralph J. Steinhagen
2021-08-28 08:47:53 +02:00
committed by GitHub
5 changed files with 54 additions and 7 deletions

View File

@@ -61,6 +61,12 @@ jobs:
compiler: { type: CLANG, version: 12, cc: "clang-12", cxx: "clang++-12" },
lib: "libc++"
}
- {
name: "Ubuntu Clang 13.0.0 + libc++",
os: ubuntu-20.04,
compiler: { type: CLANG, version: 13, cc: "clang-13", cxx: "clang++-13" },
lib: "libc++"
}
# In case a Conan docker image will be needed to provide a specific configuration we can use a Docker image as follows
# - {
# name: "Ubuntu GCC 10.2.0",
@@ -89,7 +95,7 @@ jobs:
if: matrix.config.compiler.type == 'CLANG' && matrix.config.lib == 'libc++'
shell: bash
run: |
sudo apt install -y libc++-${{ matrix.config.compiler.version }}-dev libc++abi-${{ matrix.config.compiler.version }}-dev
sudo apt install -y libc++-${{ matrix.config.compiler.version }}-dev libc++abi-${{ matrix.config.compiler.version }}-dev libunwind-${{ matrix.config.compiler.version }}-dev
- name: Install Ninja
# TODO Find a proper syntax to make the below work
# if: !matrix.config.docker_image
@@ -120,6 +126,12 @@ jobs:
conan profile update settings.compiler.libcxx=${{ matrix.config.lib }} default
fi
conan profile show default
- name: Add support for clang-13 to Conan's settings.yml
# TODO Remove when Conan will support clang-13
if: matrix.config.compiler.type == 'CLANG'
shell: bash
run: |
sed -i -e 's/"8", "9", "10", "11", "12"]/"8", "9", "10", "11", "12", "13"]/' ~/.conan/settings.yml
- name: Run Conan Package Tools
shell: bash
env:

View File

@@ -65,6 +65,12 @@ jobs:
compiler: { type: CLANG, version: 12, cc: "clang-12", cxx: "clang++-12" },
lib: "libc++"
}
- {
name: "Ubuntu Clang 13.0.0 + libc++",
os: ubuntu-20.04,
compiler: { type: CLANG, version: 13, cc: "clang-13", cxx: "clang++-13" },
lib: "libc++"
}
# In case a Conan docker image will be needed to provide a specific configuration we can use a Docker image as follows
# - {
# name: "Ubuntu GCC 10.2.0",
@@ -105,7 +111,7 @@ jobs:
if: matrix.config.compiler.type == 'CLANG' && matrix.config.lib == 'libc++'
shell: bash
run: |
sudo apt install -y libc++-${{ matrix.config.compiler.version }}-dev libc++abi-${{ matrix.config.compiler.version }}-dev
sudo apt install -y libc++-${{ matrix.config.compiler.version }}-dev libc++abi-${{ matrix.config.compiler.version }}-dev libunwind-${{ matrix.config.compiler.version }}-dev
- name: Install Ninja
# TODO Find a proper syntax to make the below work
# if: !matrix.config.docker_image
@@ -138,6 +144,12 @@ jobs:
conan profile update settings.compiler.libcxx=${{ matrix.config.lib }} default
fi
conan profile show default
- name: Add support for clang-13 to Conan's settings.yml
# TODO Remove when Conan will support clang-13
if: matrix.config.compiler.type == 'CLANG'
shell: bash
run: |
sed -i -e 's/"8", "9", "10", "11", "12"]/"8", "9", "10", "11", "12", "13"]/' ~/.conan/settings.yml
- name: Install Conan dependencies
shell: bash
run: |

View File

@@ -121,13 +121,19 @@ They are defined using the `reference` class template::
namespace length_references {
inline constexpr auto km = reference<dim_length, kilometre>{};
inline constexpr auto h = reference<dim_time, hour>{};
} // namespace length_references
namespace time_references {
inline constexpr auto h = reference<dim_time, hour>{};
} // namespace time_references
namespace references {
using namespace length_references;
using namespace time_references;
} // namespace references

View File

@@ -75,7 +75,7 @@ public:
uncertainty_type uncertainty;
};
#if UNITS_COMP_CLANG == 12 || UNITS_COMP_MSVC
#if UNITS_COMP_CLANG <= 13 || UNITS_COMP_MSVC
template<QuantityOrQuantityPoint QQP, units::Quantity U>
estimation(state<QQP>, U) -> estimation<QQP>;

View File

@@ -66,9 +66,10 @@
#endif
#if UNITS_COMP_CLANG == 12 && UNITS_LIBCXX
#if UNITS_LIBCXX
#if UNITS_COMP_CLANG == 12
#include <concepts/compare.hpp>
#include <concepts/concepts.hpp>
#include <range/v3/functional/comparisons.hpp>
#include <range/v3/iterator.hpp>
@@ -76,6 +77,12 @@
#include <range/v3/algorithm/lower_bound.hpp>
#include <range/v3/algorithm/transform.hpp>
#elif UNITS_COMP_CLANG == 13
#include <range/v3/functional/comparisons.hpp>
#endif
#endif
#include <concepts>
@@ -99,7 +106,9 @@ namespace std {
template<class T>
concept default_constructible = constructible_from<T>;
#elif UNITS_COMP_CLANG && UNITS_LIBCXX
#elif UNITS_LIBCXX
#if UNITS_COMP_CLANG == 12
// concepts
using concepts::common_with;
@@ -209,6 +218,14 @@ constexpr bool in_range(T t) noexcept
std::cmp_less_equal(t, std::numeric_limits<R>::max());
}
#elif UNITS_COMP_CLANG == 13
using concepts::three_way_comparable;
using concepts::three_way_comparable_with;
using ::ranges::compare_three_way;
#endif
#endif
} // namespace std