Skip to content

Commit 67fbf7b

Browse files
authored
Merge pull request #2833 from JohanMabille/clang19
Clang19
2 parents 487d890 + 82e1c6c commit 67fbf7b

File tree

4 files changed

+9
-9
lines changed

4 files changed

+9
-9
lines changed

.github/workflows/linux.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@ jobs:
2020
sys:
2121
- {compiler: clang, version: '17', name: assert, flags: -DXTENSOR_ENABLE_ASSERT=ON}
2222
- {compiler: clang, version: '18', name: column-major, flags: -DDEFAULT_COLUMN_MAJOR=ON}
23-
#- {compiler: clang, version: '19', name: assert, flags: -DXTENSOR_ENABLE_ASSERT=ON}
24-
#- {compiler: clang, version: '20', name: column-major, flags: -DDEFAULT_COLUMN_MAJOR=ON}
23+
- {compiler: clang, version: '19', name: assert, flags: -DXTENSOR_ENABLE_ASSERT=ON}
24+
- {compiler: clang, version: '20', name: column-major, flags: -DDEFAULT_COLUMN_MAJOR=ON}
2525
- {compiler: gcc, version: '11', name: openmp, flags: -DXTENSOR_USE_OPENMP=ON}
2626
- {compiler: gcc, version: '11', name: noexcept, flags: -DXTENSOR_DISABLE_EXCEPTIONS=ON}
2727
- {compiler: gcc, version: '12', name: xsimd, flags: -DXTENSOR_USE_XSIMD=ON}

include/xtensor/containers/xstorage.hpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -1637,8 +1637,8 @@ namespace xt
16371637
return !(lhs < rhs);
16381638
}
16391639

1640-
// Workaround for rebind_container problems on GCC 8 with C++17 enabled
1641-
#if defined(__GNUC__) && __GNUC__ > 6 && !defined(__clang__) && __cplusplus >= 201703L
1640+
// Workaround for rebind_container problems when C++17 feature is enabled
1641+
#ifdef __cpp_template_template_args
16421642
template <class X, class T, std::size_t N>
16431643
struct rebind_container<X, aligned_array<T, N>>
16441644
{

include/xtensor/core/xexpression_traits.hpp

+3-4
Original file line numberDiff line numberDiff line change
@@ -103,16 +103,15 @@ namespace xt
103103
using type = xarray<T, L>;
104104
};
105105

106-
#if defined(__GNUC__) && (__GNUC__ > 6)
107-
#if __cplusplus == 201703L
106+
// Workaround for rebind_container problems when C++17 feature is enabled
107+
#ifdef __cpp_template_template_args
108108
template <template <class, std::size_t, class, bool> class S, class X, std::size_t N, class A, bool Init>
109109
struct xtype_for_shape<S<X, N, A, Init>>
110110
{
111111
template <class T, layout_type L>
112112
using type = xarray<T, L>;
113113
};
114-
#endif // __cplusplus == 201703L
115-
#endif // __GNUC__ && (__GNUC__ > 6)
114+
#endif // __cpp_template_template_args
116115

117116
template <template <class, std::size_t> class S, class X, std::size_t N>
118117
struct xtype_for_shape<S<X, N>>

include/xtensor/utils/xutils.hpp

+2-1
Original file line numberDiff line numberDiff line change
@@ -1005,7 +1005,8 @@ namespace xt
10051005
using type = C<X, allocator>;
10061006
};
10071007

1008-
#if defined(__GNUC__) && __GNUC__ > 6 && !defined(__clang__) && __cplusplus >= 201703L
1008+
// Workaround for rebind_container problems when C++17 feature is enabled
1009+
#ifdef __cpp_template_template_args
10091010
template <class X, class T, std::size_t N>
10101011
struct rebind_container<X, std::array<T, N>>
10111012
{

0 commit comments

Comments
 (0)