[libcxx-commits] [PATCH] D97283: [libcxx][type_traits] is_unsigned is false for enum types
Tomas Matheson via Phabricator via libcxx-commits
libcxx-commits at lists.llvm.org
Fri Mar 5 07:36:57 PST 2021
tmatheson added a comment.
> make libc++ conditionally use just `__is_unsigned` or a combination of `__is_unsigned && !__is_enum` based on the version of Clang
That's exactly what I was trying to avoid :) I'm reluctant to change the builtin for the following reasons:
- Since this is marked as an Embarcadero builtin, it might break whatever that is and I'm not sure who to ask about it
- I didn't know what the compiler support policy is so was hedging on the side of not breaking the interface
- `__is_unsigned && !__is_enum` will work for both builtin behaviours
- Keep the patch small
If this is the preferred approach though and the above are not concerns, I can also change the builtin and add the extra `#ifdef`.
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
More information about the libcxx-commits