[libcxx-commits] [PATCH] D97283: [libcxx][type_traits] is_unsigned is false for enum types
Zoe Carver via Phabricator via libcxx-commits
libcxx-commits at lists.llvm.org
Fri Mar 5 09:32:49 PST 2021
zoecarver added inline comments.
Comment at: libcxx/include/type_traits:1459
template <class _Tp>
-_LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR bool is_unsigned_v = __is_unsigned(_Tp);
+_LIBCPP_INLINE_VAR _LIBCPP_CONSTEXPR bool is_unsigned_v = __is_unsigned(_Tp) &&
> Have we asked the compiler folks why `__is_unsigned` is implemented that way? This looks like a simple Clang bug to me.
> @zoecarver did you implement this intrinsic or was it there already?
Yeah, I [[ https://github.com/llvm/llvm-project/commit/511dbd83d63ce0cf95e3ac7d07eb9444d92a02e8# | fixed this for __is_signed ]]. I think I just need to update __is_unsigned as well. I might be able to put up a patch for that later today.
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
More information about the libcxx-commits