From 179cc202bda35e6da410b7475ed781fac85345e7 Mon Sep 17 00:00:00 2001 From: Nikolas Klauser Date: Mon, 30 Jun 2025 10:19:21 +0200 Subject: [PATCH] [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. --- libcxx/include/__type_traits/invoke.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libcxx/include/__type_traits/invoke.h b/libcxx/include/__type_traits/invoke.h index e58fad75e921..ac38b32b0cd7 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 -using __invoke_result_t = decltype(__builtin_invoke(std::declval<_Args>()...)); +using __invoke_result_t _LIBCPP_NODEBUG = decltype(__builtin_invoke(std::declval<_Args>()...)); template struct __invoke_result_impl {}; @@ -76,7 +76,7 @@ struct __invoke_result_impl<__void_t<__invoke_result_t<_Args...> >, _Args...> { }; template -using __invoke_result = __invoke_result_impl; +using __invoke_result _LIBCPP_NODEBUG = __invoke_result_impl; template _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR __invoke_result_t<_Args...> __invoke(_Args&&... __args)