Building the tests leads to errors in the file(test_xio.cpp). Logfile is attached.
Commenting out the testcase "TEST(xio, xdynamic_view)" solves the problems.
Used commands: cmake -DCMAKE_INSTALL_PREFIX=/opt/xtensor-git -DBUILD_TESTS=ON ../ make
Environment: Fedora release 28 (Twenty Eight) g++ (GCC) 8.2.1 20181105 (Red Hat 8.2.1-5)
xtensor_build.log
I can reproduce this issue with Fedora 29 and the same GCC version.
A quick and ugly fix would probably be to specialize has_data_interface. I don't understand why the SFINAE stuff doesn't work with the explicitly deleted functions.
I've got a fix for this (\cc @JohanMabille)
Need to add ifdef's around it ...
template <class CT, class S, layout_type L, class FST> struct xiterable_inner_types<xdynamic_view<CT, S, L, FST>> { using inner_shape_type = S; using inner_strides_type = inner_shape_type; using inner_backstrides_type = inner_shape_type; constexpr static auto random_instantiation_var_for_gcc8_data_iface = has_data_interface<xdynamic_view<CT, S, L, FST>>::value; constexpr static auto random_instantiation_var_for_gcc8_has_strides = has_strides<xdynamic_view<CT, S, L, FST>>::value; // TODO: implement efficient stepper specific to the dynamic_view using const_stepper = xindexed_stepper<const xdynamic_view<CT, S, L, FST>, true>; using stepper = xindexed_stepper<xdynamic_view<CT, S, L, FST>, false>; };
Fixed in #1289
Activity
wolfv commented on Nov 29, 2018
I can reproduce this issue with Fedora 29 and the same GCC version.
wolfv commented on Nov 29, 2018
A quick and ugly fix would probably be to specialize has_data_interface. I don't understand why the SFINAE stuff doesn't work with the explicitly deleted functions.
wolfv commented on Dec 5, 2018
I've got a fix for this (\cc @JohanMabille)
Need to add ifdef's around it ...
template <class CT, class S, layout_type L, class FST> struct xiterable_inner_types<xdynamic_view<CT, S, L, FST>> { using inner_shape_type = S; using inner_strides_type = inner_shape_type; using inner_backstrides_type = inner_shape_type; constexpr static auto random_instantiation_var_for_gcc8_data_iface = has_data_interface<xdynamic_view<CT, S, L, FST>>::value; constexpr static auto random_instantiation_var_for_gcc8_has_strides = has_strides<xdynamic_view<CT, S, L, FST>>::value; // TODO: implement efficient stepper specific to the dynamic_view using const_stepper = xindexed_stepper<const xdynamic_view<CT, S, L, FST>, true>; using stepper = xindexed_stepper<xdynamic_view<CT, S, L, FST>, false>; };JohanMabille commented on Dec 11, 2018
Fixed in #1289