[PATCH] D41148: [libcxx] implement <experimental/simd> declarations based on P0214R7.
Zhihao Yuan via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Tue Dec 12 19:30:51 PST 2017
lichray added a comment.
I beg you to resubmit this patch relative to "libcxx"; I had to `arc export` this patch and `patch -p1 < your.diff` manually rather than just `arc patch D41148`.
================
Comment at: libcxx/include/experimental/simd:1069
+ std::is_same<_Abi, simd_abi::fixed_size<size()>>::value &&
+ __is_non_narrowing_convertible<_Up, _Tp>()>::type>
+ simd(const simd<_Up, simd_abi::fixed_size<size()>>&) {}
----------------
Does it causes a problem if the logic of `is_convertible` is folded into `__is_non_narrowing_convertible`?
================
Comment at: libcxx/include/experimental/simd:1088
+ // Inserted "int = 0", otherwise it is not implementable wrt `simd(_Up&&
+ // value)`.
+ // TODO: revise P0214.
----------------
Really? `decltype(simd(...), 0) = 0` seems passing your tests.
================
Comment at: libcxx/test/std/experimental/simd/simd_cast.pass.cpp:87
+
+int main() { return 0; }
----------------
No more `return 0;` in `main`; no other files do so.
================
Comment at: libcxx/test/std/experimental/simd/traits.pass.cpp:37
+
+static_assert(is_abi_tag<simd_abi::native<int8_t> >::value, "");
+static_assert(is_abi_tag<simd_abi::native<int16_t> >::value, "");
----------------
`> >` is not a fashion...
https://reviews.llvm.org/D41148
More information about the cfe-commits
mailing list