[compiler-rt] [libc++] Prevent calling the projection more than three times (PR #66315)
Louis Dionne via llvm-commits
llvm-commits at lists.llvm.org
Mon Sep 18 13:17:03 PDT 2023
================
@@ -37,9 +37,10 @@ struct __fn {
_LIBCPP_ASSERT_UNCATEGORIZED(!bool(std::invoke(__comp, std::invoke(__proj, __high), std::invoke(__proj, __low))),
"Bad bounds passed to std::ranges::clamp");
- if (std::invoke(__comp, std::invoke(__proj, __value), std::invoke(__proj, __low)))
+ auto&& __projected = std::forward<decltype(__projected)>(std::invoke(__proj, __value));
----------------
ldionne wrote:
We don't want to use `std::forward` here, we want to use it in the argument to `std::invoke`.
https://github.com/llvm/llvm-project/pull/66315
More information about the llvm-commits
mailing list