Concentrated header for internal bit utilities#3721
Concentrated header for internal bit utilities#3721StephanTLavavej merged 10 commits intomicrosoft:mainfrom
Conversation
Also reduces inclusion dependency on `<limits>`.
Also - add `_STL_INTERNAL_STATIC_ASSERT`; - add `_INLINE_VAR` to `_Is_standard_unsigned_integer`.
tests/std/tests/GH_002431_byte_range_find_with_unreachable_sentinel/test.cpp
Show resolved
Hide resolved
| #endif // _HAS_NEON_INTRINSICS | ||
|
|
||
| template <class _Ty> | ||
| _INLINE_VAR constexpr bool _Is_standard_unsigned_integer = |
There was a problem hiding this comment.
No change requested: Nice catch!! We mistakenly lacked _INLINE_VAR here:
Lines 1204 to 1205 in c8d1efb
This comment was marked as resolved.
This comment was marked as resolved.
|
I'm mirroring this to the MSVC-internal repo - please notify me if any further changes are pushed. |
|
I pushed a conflict-free merge with |
| #if !defined(_M_CEE_PURE) && !defined(__CUDACC__) && !defined(__INTEL_COMPILER) | ||
| #define _HAS_COUNTL_ZERO_INTRINSICS 1 |
There was a problem hiding this comment.
Note to other reviewers: I kept this structure for consistency with our other intrinsics guards, even though this one could arguably be De Morganed.
|
Thanks for this major header restructuring! 🛠️ 🎉 😸 |
|
I observe that |
|
This broke with microsoft/STL#3721 It's a minor issue and a minor fix. :)
Also reduces inclusion dependency on
<limits>.Currently
__isa_availableand_Stl_isa_available_meoware made unconditionally declared, but it might be better to avoid declaring them under some circumstances.Fixes #3692. Fixes #832.
MSVC-internal changes are needed for the new header
<__msvc_bit_utils.hpp>.