[libcxx-commits] [libcxx] 179cc20 - [libc++] Add missing _LIBCPP_NODEBUG in <__type_traits/invoke.h>
Nikolas Klauser via libcxx-commits
libcxx-commits at lists.llvm.org
Mon Jun 30 01:22:49 PDT 2025
Author: Nikolas Klauser
Date: 2025-06-30T10:19:24+02:00
New Revision: 179cc202bda35e6da410b7475ed781fac85345e7
URL: https://github.com/llvm/llvm-project/commit/179cc202bda35e6da410b7475ed781fac85345e7
DIFF: https://github.com/llvm/llvm-project/commit/179cc202bda35e6da410b7475ed781fac85345e7.diff
LOG: [libc++] Add missing _LIBCPP_NODEBUG in <__type_traits/invoke.h>
libc++ doesn't run clang-tidy in the bootstrapping build, so it wasn't
run when `__builtin_invoke` was introduced. Once libc++ upgrades to a
newer clang version, clang-tidy will start to fail due to missing
`_LIBCPP_NODEBUG` annotations.
Added:
Modified:
libcxx/include/__type_traits/invoke.h
Removed:
################################################################################
diff --git a/libcxx/include/__type_traits/invoke.h b/libcxx/include/__type_traits/invoke.h
index e58fad75e9215..ac38b32b0cd76 100644
--- a/libcxx/include/__type_traits/invoke.h
+++ b/libcxx/include/__type_traits/invoke.h
@@ -65,7 +65,7 @@ _LIBCPP_BEGIN_NAMESPACE_STD
#if __has_builtin(__builtin_invoke)
template <class... _Args>
-using __invoke_result_t = decltype(__builtin_invoke(std::declval<_Args>()...));
+using __invoke_result_t _LIBCPP_NODEBUG = decltype(__builtin_invoke(std::declval<_Args>()...));
template <class, class... _Args>
struct __invoke_result_impl {};
@@ -76,7 +76,7 @@ struct __invoke_result_impl<__void_t<__invoke_result_t<_Args...> >, _Args...> {
};
template <class... _Args>
-using __invoke_result = __invoke_result_impl<void, _Args...>;
+using __invoke_result _LIBCPP_NODEBUG = __invoke_result_impl<void, _Args...>;
template <class... _Args>
_LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR __invoke_result_t<_Args...> __invoke(_Args&&... __args)
More information about the libcxx-commits
mailing list