diff options
author | Nick Desaulniers <nickdesaulniers@users.noreply.github.com> | 2024-03-05 08:17:27 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-03-05 08:17:27 -0800 |
commit | 2aa22ca2ca4c7cd709665624ccc51be4676c6fd3 (patch) | |
tree | 39694c706b8b02c6676622165201da893df08ca5 /libc/src | |
parent | 640c85748ec823e91a3cd412829f644cf4f10ffc (diff) | |
download | llvm-2aa22ca2ca4c7cd709665624ccc51be4676c6fd3.zip llvm-2aa22ca2ca4c7cd709665624ccc51be4676c6fd3.tar.gz llvm-2aa22ca2ca4c7cd709665624ccc51be4676c6fd3.tar.bz2 |
[libc] suppress readability-identifier-naming for std::numeric_limits interfaces (#83921)
These templates are made to match the ergonomics of std::numeric_limits.
Because our style for constexpr variables is ALL_CAPS, we must silence the
linter for these manually.
Link:
https://clang.llvm.org/extra/clang-tidy/#suppressing-undesired-diagnostics
Diffstat (limited to 'libc/src')
-rw-r--r-- | libc/src/__support/UInt.h | 4 | ||||
-rw-r--r-- | libc/src/string/memory_utils/op_generic.h | 13 |
2 files changed, 17 insertions, 0 deletions
diff --git a/libc/src/__support/UInt.h b/libc/src/__support/UInt.h index ae1fe7a..5973e6f 100644 --- a/libc/src/__support/UInt.h +++ b/libc/src/__support/UInt.h @@ -898,6 +898,8 @@ public: return UInt<128>({0xffff'ffff'ffff'ffff, 0xffff'ffff'ffff'ffff}); } LIBC_INLINE static constexpr UInt<128> min() { return UInt<128>(0); } + // Meant to match std::numeric_limits interface. + // NOLINTNEXTLINE(readability-identifier-naming) LIBC_INLINE_VAR static constexpr int digits = 128; }; @@ -909,6 +911,8 @@ public: LIBC_INLINE static constexpr Int<128> min() { return Int<128>({0, 0x8000'0000'0000'0000}); } + // Meant to match std::numeric_limits interface. + // NOLINTNEXTLINE(readability-identifier-naming) LIBC_INLINE_VAR static constexpr int digits = 128; }; diff --git a/libc/src/string/memory_utils/op_generic.h b/libc/src/string/memory_utils/op_generic.h index 90269c0..41fc1fa 100644 --- a/libc/src/string/memory_utils/op_generic.h +++ b/libc/src/string/memory_utils/op_generic.h @@ -63,28 +63,41 @@ template <> struct is_scalar<uint32_t> : cpp::true_type {}; #ifdef LLVM_LIBC_HAS_UINT64 template <> struct is_scalar<uint64_t> : cpp::true_type {}; #endif // LLVM_LIBC_HAS_UINT64 +// Meant to match std::numeric_limits interface. +// NOLINTNEXTLINE(readability-identifier-naming) template <typename T> constexpr bool is_scalar_v = is_scalar<T>::value; template <typename T> struct is_vector : cpp::false_type {}; template <> struct is_vector<generic_v128> : cpp::true_type {}; template <> struct is_vector<generic_v256> : cpp::true_type {}; template <> struct is_vector<generic_v512> : cpp::true_type {}; +// Meant to match std::numeric_limits interface. +// NOLINTNEXTLINE(readability-identifier-naming) template <typename T> constexpr bool is_vector_v = is_vector<T>::value; template <class T> struct is_array : cpp::false_type {}; template <class T, size_t N> struct is_array<cpp::array<T, N>> { + // Meant to match std::numeric_limits interface. + // NOLINTNEXTLINE(readability-identifier-naming) static constexpr bool value = is_scalar_v<T> || is_vector_v<T>; }; +// Meant to match std::numeric_limits interface. +// NOLINTNEXTLINE(readability-identifier-naming) template <typename T> constexpr bool is_array_v = is_array<T>::value; +// Meant to match std::numeric_limits interface. +// NOLINTBEGIN(readability-identifier-naming) template <typename T> constexpr bool is_element_type_v = is_scalar_v<T> || is_vector_v<T> || is_array_v<T>; +// NOLINTEND(readability-identifier-naming) // Helper struct to retrieve the number of elements of an array. template <class T> struct array_size {}; template <class T, size_t N> struct array_size<cpp::array<T, N>> : cpp::integral_constant<size_t, N> {}; +// Meant to match std::numeric_limits interface. +// NOLINTNEXTLINE(readability-identifier-naming) template <typename T> constexpr size_t array_size_v = array_size<T>::value; // Generic operations for the above type categories. |