[clang-tools-extra] [libc++] Prevent calling the projection more than three times (PR #66315)
https://github.com/pandaninjas updated https://github.com/llvm/llvm-project/pull/66315 >From ead65bfcb70be46788bc9e88c891e7ae7f91b8d7 Mon Sep 17 00:00:00 2001 From: PandaNinjas Date: Wed, 13 Sep 2023 17:38:17 -0700 Subject: [PATCH 01/16] [libc++] Prevent calling the projection more than three times --- libcxx/include/__algorithm/ranges_clamp.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/libcxx/include/__algorithm/ranges_clamp.h b/libcxx/include/__algorithm/ranges_clamp.h index 9613f7f37720a6c..ca46675eb4b3041 100644 --- a/libcxx/include/__algorithm/ranges_clamp.h +++ b/libcxx/include/__algorithm/ranges_clamp.h @@ -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 &projection = std::invoke(__proj, __value); +if (std::invoke(__comp, projection, std::invoke(__proj, __low))) return __low; -else if (std::invoke(__comp, std::invoke(__proj, __high), std::invoke(__proj, __value))) +else if (std::invoke(__comp, std::invoke(__proj, __high), projection)) return __high; else return __value; >From c18d60870ac342a95a5528396a8e0c7b91717cbb Mon Sep 17 00:00:00 2001 From: PandaNinjas Date: Wed, 13 Sep 2023 18:56:44 -0700 Subject: [PATCH 02/16] [libc++] Run clang-format on file --- libcxx/include/__algorithm/ranges_clamp.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libcxx/include/__algorithm/ranges_clamp.h b/libcxx/include/__algorithm/ranges_clamp.h index ca46675eb4b3041..3469a6419b2270f 100644 --- a/libcxx/include/__algorithm/ranges_clamp.h +++ b/libcxx/include/__algorithm/ranges_clamp.h @@ -37,7 +37,7 @@ struct __fn { _LIBCPP_ASSERT_UNCATEGORIZED(!bool(std::invoke(__comp, std::invoke(__proj, __high), std::invoke(__proj, __low))), "Bad bounds passed to std::ranges::clamp"); -auto &projection = std::invoke(__proj, __value); +auto& projection = std::invoke(__proj, __value); if (std::invoke(__comp, projection, std::invoke(__proj, __low))) return __low; else if (std::invoke(__comp, std::invoke(__proj, __high), projection)) >From b40e791f0e9fedbb19936851e1e71decf00331fa Mon Sep 17 00:00:00 2001 From: Jocelyn Castellano Date: Wed, 13 Sep 2023 19:11:20 -0700 Subject: [PATCH 03/16] [libcxx] CamelCase projection and make variable name more descriptive --- libcxx/include/__algorithm/ranges_clamp.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libcxx/include/__algorithm/ranges_clamp.h b/libcxx/include/__algorithm/ranges_clamp.h index 3469a6419b2270f..3adb5fa828e1ee5 100644 --- a/libcxx/include/__algorithm/ranges_clamp.h +++ b/libcxx/include/__algorithm/ranges_clamp.h @@ -37,7 +37,7 @@ struct __fn { _LIBCPP_ASSERT_UNCATEGORIZED(!bool(std::invoke(__comp, std::invoke(__proj, __high), std::invoke(__proj, __low))), "Bad bounds passed to std::ranges::clamp"); -auto& projection = std::invoke(__proj, __value); +auto& ValueProjection = std::invoke(__proj, __value); if (std::invoke(__comp, projection, std::invoke(__proj, __low))) return __low; else if (std::invoke(__comp, std::invoke(__proj, __high), projection)) >From a8907624defa4cc4f47520a2d93a8bd042816aa2 Mon Sep 17 00:00:00 2001 From: Jocelyn Castellano Date: Wed, 13 Sep 2023 19:11:47 -0700 Subject: [PATCH 04/16] [libcxx] properly change variable name --- libcxx/include/__algorithm/ranges_clamp.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libcxx/include/__algorithm/ranges_clamp.h b/libcxx/include/__algorithm/ranges_clamp.h index 3adb5fa828e1ee5..3d7a224b3649a3f 100644 --- a/libcxx/include/__algorithm/ranges_clamp.h +++ b/libcxx/include/__algorithm/ranges_clamp.h @@ -38,9 +38,9 @@ struct __fn { "Bad bounds passed to std::ranges::clamp"); auto& ValueProjection = std::invoke(__proj, __value); -if (std::invoke(__comp, projection, std::invoke(__proj, __low))) +if (std::invoke(__comp, ValueProjection, std::invoke(__proj, __low))) return __low; -else if (std::invoke(__comp, std::invoke(__proj, __high), projection)) +else if (std::invoke(__comp, std::invoke(__proj, __high), ValueProjection)) return __high; else return __value; >From 15d3b2b79fbd61f97b0312e0913cede36b5b202d Mon Sep 17 00:00:00 2001 From: Jocelyn Castellano Date: Thu, 14 Sep 2023 10:37:34 -0700 Subject: [PATCH 05/16] Apply suggestions from code review --- libcxx/include/__algorithm/ranges_clamp.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/libcxx/include/__algorithm/ranges_clamp.h b/libcxx/include/__algorithm/ranges_clamp.h index 3d7a224b3649a3f..
[clang] [libc++] Prevent calling the projection more than three times (PR #66315)
https://github.com/pandaninjas updated https://github.com/llvm/llvm-project/pull/66315 >From ead65bfcb70be46788bc9e88c891e7ae7f91b8d7 Mon Sep 17 00:00:00 2001 From: PandaNinjas Date: Wed, 13 Sep 2023 17:38:17 -0700 Subject: [PATCH 01/16] [libc++] Prevent calling the projection more than three times --- libcxx/include/__algorithm/ranges_clamp.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/libcxx/include/__algorithm/ranges_clamp.h b/libcxx/include/__algorithm/ranges_clamp.h index 9613f7f37720a6c..ca46675eb4b3041 100644 --- a/libcxx/include/__algorithm/ranges_clamp.h +++ b/libcxx/include/__algorithm/ranges_clamp.h @@ -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 &projection = std::invoke(__proj, __value); +if (std::invoke(__comp, projection, std::invoke(__proj, __low))) return __low; -else if (std::invoke(__comp, std::invoke(__proj, __high), std::invoke(__proj, __value))) +else if (std::invoke(__comp, std::invoke(__proj, __high), projection)) return __high; else return __value; >From c18d60870ac342a95a5528396a8e0c7b91717cbb Mon Sep 17 00:00:00 2001 From: PandaNinjas Date: Wed, 13 Sep 2023 18:56:44 -0700 Subject: [PATCH 02/16] [libc++] Run clang-format on file --- libcxx/include/__algorithm/ranges_clamp.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libcxx/include/__algorithm/ranges_clamp.h b/libcxx/include/__algorithm/ranges_clamp.h index ca46675eb4b3041..3469a6419b2270f 100644 --- a/libcxx/include/__algorithm/ranges_clamp.h +++ b/libcxx/include/__algorithm/ranges_clamp.h @@ -37,7 +37,7 @@ struct __fn { _LIBCPP_ASSERT_UNCATEGORIZED(!bool(std::invoke(__comp, std::invoke(__proj, __high), std::invoke(__proj, __low))), "Bad bounds passed to std::ranges::clamp"); -auto &projection = std::invoke(__proj, __value); +auto& projection = std::invoke(__proj, __value); if (std::invoke(__comp, projection, std::invoke(__proj, __low))) return __low; else if (std::invoke(__comp, std::invoke(__proj, __high), projection)) >From b40e791f0e9fedbb19936851e1e71decf00331fa Mon Sep 17 00:00:00 2001 From: Jocelyn Castellano Date: Wed, 13 Sep 2023 19:11:20 -0700 Subject: [PATCH 03/16] [libcxx] CamelCase projection and make variable name more descriptive --- libcxx/include/__algorithm/ranges_clamp.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libcxx/include/__algorithm/ranges_clamp.h b/libcxx/include/__algorithm/ranges_clamp.h index 3469a6419b2270f..3adb5fa828e1ee5 100644 --- a/libcxx/include/__algorithm/ranges_clamp.h +++ b/libcxx/include/__algorithm/ranges_clamp.h @@ -37,7 +37,7 @@ struct __fn { _LIBCPP_ASSERT_UNCATEGORIZED(!bool(std::invoke(__comp, std::invoke(__proj, __high), std::invoke(__proj, __low))), "Bad bounds passed to std::ranges::clamp"); -auto& projection = std::invoke(__proj, __value); +auto& ValueProjection = std::invoke(__proj, __value); if (std::invoke(__comp, projection, std::invoke(__proj, __low))) return __low; else if (std::invoke(__comp, std::invoke(__proj, __high), projection)) >From a8907624defa4cc4f47520a2d93a8bd042816aa2 Mon Sep 17 00:00:00 2001 From: Jocelyn Castellano Date: Wed, 13 Sep 2023 19:11:47 -0700 Subject: [PATCH 04/16] [libcxx] properly change variable name --- libcxx/include/__algorithm/ranges_clamp.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libcxx/include/__algorithm/ranges_clamp.h b/libcxx/include/__algorithm/ranges_clamp.h index 3adb5fa828e1ee5..3d7a224b3649a3f 100644 --- a/libcxx/include/__algorithm/ranges_clamp.h +++ b/libcxx/include/__algorithm/ranges_clamp.h @@ -38,9 +38,9 @@ struct __fn { "Bad bounds passed to std::ranges::clamp"); auto& ValueProjection = std::invoke(__proj, __value); -if (std::invoke(__comp, projection, std::invoke(__proj, __low))) +if (std::invoke(__comp, ValueProjection, std::invoke(__proj, __low))) return __low; -else if (std::invoke(__comp, std::invoke(__proj, __high), projection)) +else if (std::invoke(__comp, std::invoke(__proj, __high), ValueProjection)) return __high; else return __value; >From 15d3b2b79fbd61f97b0312e0913cede36b5b202d Mon Sep 17 00:00:00 2001 From: Jocelyn Castellano Date: Thu, 14 Sep 2023 10:37:34 -0700 Subject: [PATCH 05/16] Apply suggestions from code review --- libcxx/include/__algorithm/ranges_clamp.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/libcxx/include/__algorithm/ranges_clamp.h b/libcxx/include/__algorithm/ranges_clamp.h index 3d7a224b3649a3f..
[clang-tools-extra] [libc++] Prevent calling the projection more than three times (PR #66315)
https://github.com/pandaninjas updated https://github.com/llvm/llvm-project/pull/66315 >From ead65bfcb70be46788bc9e88c891e7ae7f91b8d7 Mon Sep 17 00:00:00 2001 From: PandaNinjas Date: Wed, 13 Sep 2023 17:38:17 -0700 Subject: [PATCH 01/17] [libc++] Prevent calling the projection more than three times --- libcxx/include/__algorithm/ranges_clamp.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/libcxx/include/__algorithm/ranges_clamp.h b/libcxx/include/__algorithm/ranges_clamp.h index 9613f7f37720a6c..ca46675eb4b3041 100644 --- a/libcxx/include/__algorithm/ranges_clamp.h +++ b/libcxx/include/__algorithm/ranges_clamp.h @@ -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 &projection = std::invoke(__proj, __value); +if (std::invoke(__comp, projection, std::invoke(__proj, __low))) return __low; -else if (std::invoke(__comp, std::invoke(__proj, __high), std::invoke(__proj, __value))) +else if (std::invoke(__comp, std::invoke(__proj, __high), projection)) return __high; else return __value; >From c18d60870ac342a95a5528396a8e0c7b91717cbb Mon Sep 17 00:00:00 2001 From: PandaNinjas Date: Wed, 13 Sep 2023 18:56:44 -0700 Subject: [PATCH 02/17] [libc++] Run clang-format on file --- libcxx/include/__algorithm/ranges_clamp.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libcxx/include/__algorithm/ranges_clamp.h b/libcxx/include/__algorithm/ranges_clamp.h index ca46675eb4b3041..3469a6419b2270f 100644 --- a/libcxx/include/__algorithm/ranges_clamp.h +++ b/libcxx/include/__algorithm/ranges_clamp.h @@ -37,7 +37,7 @@ struct __fn { _LIBCPP_ASSERT_UNCATEGORIZED(!bool(std::invoke(__comp, std::invoke(__proj, __high), std::invoke(__proj, __low))), "Bad bounds passed to std::ranges::clamp"); -auto &projection = std::invoke(__proj, __value); +auto& projection = std::invoke(__proj, __value); if (std::invoke(__comp, projection, std::invoke(__proj, __low))) return __low; else if (std::invoke(__comp, std::invoke(__proj, __high), projection)) >From b40e791f0e9fedbb19936851e1e71decf00331fa Mon Sep 17 00:00:00 2001 From: Jocelyn Castellano Date: Wed, 13 Sep 2023 19:11:20 -0700 Subject: [PATCH 03/17] [libcxx] CamelCase projection and make variable name more descriptive --- libcxx/include/__algorithm/ranges_clamp.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libcxx/include/__algorithm/ranges_clamp.h b/libcxx/include/__algorithm/ranges_clamp.h index 3469a6419b2270f..3adb5fa828e1ee5 100644 --- a/libcxx/include/__algorithm/ranges_clamp.h +++ b/libcxx/include/__algorithm/ranges_clamp.h @@ -37,7 +37,7 @@ struct __fn { _LIBCPP_ASSERT_UNCATEGORIZED(!bool(std::invoke(__comp, std::invoke(__proj, __high), std::invoke(__proj, __low))), "Bad bounds passed to std::ranges::clamp"); -auto& projection = std::invoke(__proj, __value); +auto& ValueProjection = std::invoke(__proj, __value); if (std::invoke(__comp, projection, std::invoke(__proj, __low))) return __low; else if (std::invoke(__comp, std::invoke(__proj, __high), projection)) >From a8907624defa4cc4f47520a2d93a8bd042816aa2 Mon Sep 17 00:00:00 2001 From: Jocelyn Castellano Date: Wed, 13 Sep 2023 19:11:47 -0700 Subject: [PATCH 04/17] [libcxx] properly change variable name --- libcxx/include/__algorithm/ranges_clamp.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libcxx/include/__algorithm/ranges_clamp.h b/libcxx/include/__algorithm/ranges_clamp.h index 3adb5fa828e1ee5..3d7a224b3649a3f 100644 --- a/libcxx/include/__algorithm/ranges_clamp.h +++ b/libcxx/include/__algorithm/ranges_clamp.h @@ -38,9 +38,9 @@ struct __fn { "Bad bounds passed to std::ranges::clamp"); auto& ValueProjection = std::invoke(__proj, __value); -if (std::invoke(__comp, projection, std::invoke(__proj, __low))) +if (std::invoke(__comp, ValueProjection, std::invoke(__proj, __low))) return __low; -else if (std::invoke(__comp, std::invoke(__proj, __high), projection)) +else if (std::invoke(__comp, std::invoke(__proj, __high), ValueProjection)) return __high; else return __value; >From 15d3b2b79fbd61f97b0312e0913cede36b5b202d Mon Sep 17 00:00:00 2001 From: Jocelyn Castellano Date: Thu, 14 Sep 2023 10:37:34 -0700 Subject: [PATCH 05/17] Apply suggestions from code review --- libcxx/include/__algorithm/ranges_clamp.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/libcxx/include/__algorithm/ranges_clamp.h b/libcxx/include/__algorithm/ranges_clamp.h index 3d7a224b3649a3f..
[clang] [libc++] Prevent calling the projection more than three times (PR #66315)
https://github.com/pandaninjas updated https://github.com/llvm/llvm-project/pull/66315 >From ead65bfcb70be46788bc9e88c891e7ae7f91b8d7 Mon Sep 17 00:00:00 2001 From: PandaNinjas Date: Wed, 13 Sep 2023 17:38:17 -0700 Subject: [PATCH 01/18] [libc++] Prevent calling the projection more than three times --- libcxx/include/__algorithm/ranges_clamp.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/libcxx/include/__algorithm/ranges_clamp.h b/libcxx/include/__algorithm/ranges_clamp.h index 9613f7f37720a6c..ca46675eb4b3041 100644 --- a/libcxx/include/__algorithm/ranges_clamp.h +++ b/libcxx/include/__algorithm/ranges_clamp.h @@ -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 &projection = std::invoke(__proj, __value); +if (std::invoke(__comp, projection, std::invoke(__proj, __low))) return __low; -else if (std::invoke(__comp, std::invoke(__proj, __high), std::invoke(__proj, __value))) +else if (std::invoke(__comp, std::invoke(__proj, __high), projection)) return __high; else return __value; >From c18d60870ac342a95a5528396a8e0c7b91717cbb Mon Sep 17 00:00:00 2001 From: PandaNinjas Date: Wed, 13 Sep 2023 18:56:44 -0700 Subject: [PATCH 02/18] [libc++] Run clang-format on file --- libcxx/include/__algorithm/ranges_clamp.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libcxx/include/__algorithm/ranges_clamp.h b/libcxx/include/__algorithm/ranges_clamp.h index ca46675eb4b3041..3469a6419b2270f 100644 --- a/libcxx/include/__algorithm/ranges_clamp.h +++ b/libcxx/include/__algorithm/ranges_clamp.h @@ -37,7 +37,7 @@ struct __fn { _LIBCPP_ASSERT_UNCATEGORIZED(!bool(std::invoke(__comp, std::invoke(__proj, __high), std::invoke(__proj, __low))), "Bad bounds passed to std::ranges::clamp"); -auto &projection = std::invoke(__proj, __value); +auto& projection = std::invoke(__proj, __value); if (std::invoke(__comp, projection, std::invoke(__proj, __low))) return __low; else if (std::invoke(__comp, std::invoke(__proj, __high), projection)) >From b40e791f0e9fedbb19936851e1e71decf00331fa Mon Sep 17 00:00:00 2001 From: Jocelyn Castellano Date: Wed, 13 Sep 2023 19:11:20 -0700 Subject: [PATCH 03/18] [libcxx] CamelCase projection and make variable name more descriptive --- libcxx/include/__algorithm/ranges_clamp.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libcxx/include/__algorithm/ranges_clamp.h b/libcxx/include/__algorithm/ranges_clamp.h index 3469a6419b2270f..3adb5fa828e1ee5 100644 --- a/libcxx/include/__algorithm/ranges_clamp.h +++ b/libcxx/include/__algorithm/ranges_clamp.h @@ -37,7 +37,7 @@ struct __fn { _LIBCPP_ASSERT_UNCATEGORIZED(!bool(std::invoke(__comp, std::invoke(__proj, __high), std::invoke(__proj, __low))), "Bad bounds passed to std::ranges::clamp"); -auto& projection = std::invoke(__proj, __value); +auto& ValueProjection = std::invoke(__proj, __value); if (std::invoke(__comp, projection, std::invoke(__proj, __low))) return __low; else if (std::invoke(__comp, std::invoke(__proj, __high), projection)) >From a8907624defa4cc4f47520a2d93a8bd042816aa2 Mon Sep 17 00:00:00 2001 From: Jocelyn Castellano Date: Wed, 13 Sep 2023 19:11:47 -0700 Subject: [PATCH 04/18] [libcxx] properly change variable name --- libcxx/include/__algorithm/ranges_clamp.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libcxx/include/__algorithm/ranges_clamp.h b/libcxx/include/__algorithm/ranges_clamp.h index 3adb5fa828e1ee5..3d7a224b3649a3f 100644 --- a/libcxx/include/__algorithm/ranges_clamp.h +++ b/libcxx/include/__algorithm/ranges_clamp.h @@ -38,9 +38,9 @@ struct __fn { "Bad bounds passed to std::ranges::clamp"); auto& ValueProjection = std::invoke(__proj, __value); -if (std::invoke(__comp, projection, std::invoke(__proj, __low))) +if (std::invoke(__comp, ValueProjection, std::invoke(__proj, __low))) return __low; -else if (std::invoke(__comp, std::invoke(__proj, __high), projection)) +else if (std::invoke(__comp, std::invoke(__proj, __high), ValueProjection)) return __high; else return __value; >From 15d3b2b79fbd61f97b0312e0913cede36b5b202d Mon Sep 17 00:00:00 2001 From: Jocelyn Castellano Date: Thu, 14 Sep 2023 10:37:34 -0700 Subject: [PATCH 05/18] Apply suggestions from code review --- libcxx/include/__algorithm/ranges_clamp.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/libcxx/include/__algorithm/ranges_clamp.h b/libcxx/include/__algorithm/ranges_clamp.h index 3d7a224b3649a3f..
[clang-tools-extra] [libc++] Prevent calling the projection more than three times (PR #66315)
https://github.com/pandaninjas updated https://github.com/llvm/llvm-project/pull/66315 >From ead65bfcb70be46788bc9e88c891e7ae7f91b8d7 Mon Sep 17 00:00:00 2001 From: PandaNinjas Date: Wed, 13 Sep 2023 17:38:17 -0700 Subject: [PATCH 01/18] [libc++] Prevent calling the projection more than three times --- libcxx/include/__algorithm/ranges_clamp.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/libcxx/include/__algorithm/ranges_clamp.h b/libcxx/include/__algorithm/ranges_clamp.h index 9613f7f37720a6c..ca46675eb4b3041 100644 --- a/libcxx/include/__algorithm/ranges_clamp.h +++ b/libcxx/include/__algorithm/ranges_clamp.h @@ -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 &projection = std::invoke(__proj, __value); +if (std::invoke(__comp, projection, std::invoke(__proj, __low))) return __low; -else if (std::invoke(__comp, std::invoke(__proj, __high), std::invoke(__proj, __value))) +else if (std::invoke(__comp, std::invoke(__proj, __high), projection)) return __high; else return __value; >From c18d60870ac342a95a5528396a8e0c7b91717cbb Mon Sep 17 00:00:00 2001 From: PandaNinjas Date: Wed, 13 Sep 2023 18:56:44 -0700 Subject: [PATCH 02/18] [libc++] Run clang-format on file --- libcxx/include/__algorithm/ranges_clamp.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libcxx/include/__algorithm/ranges_clamp.h b/libcxx/include/__algorithm/ranges_clamp.h index ca46675eb4b3041..3469a6419b2270f 100644 --- a/libcxx/include/__algorithm/ranges_clamp.h +++ b/libcxx/include/__algorithm/ranges_clamp.h @@ -37,7 +37,7 @@ struct __fn { _LIBCPP_ASSERT_UNCATEGORIZED(!bool(std::invoke(__comp, std::invoke(__proj, __high), std::invoke(__proj, __low))), "Bad bounds passed to std::ranges::clamp"); -auto &projection = std::invoke(__proj, __value); +auto& projection = std::invoke(__proj, __value); if (std::invoke(__comp, projection, std::invoke(__proj, __low))) return __low; else if (std::invoke(__comp, std::invoke(__proj, __high), projection)) >From b40e791f0e9fedbb19936851e1e71decf00331fa Mon Sep 17 00:00:00 2001 From: Jocelyn Castellano Date: Wed, 13 Sep 2023 19:11:20 -0700 Subject: [PATCH 03/18] [libcxx] CamelCase projection and make variable name more descriptive --- libcxx/include/__algorithm/ranges_clamp.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libcxx/include/__algorithm/ranges_clamp.h b/libcxx/include/__algorithm/ranges_clamp.h index 3469a6419b2270f..3adb5fa828e1ee5 100644 --- a/libcxx/include/__algorithm/ranges_clamp.h +++ b/libcxx/include/__algorithm/ranges_clamp.h @@ -37,7 +37,7 @@ struct __fn { _LIBCPP_ASSERT_UNCATEGORIZED(!bool(std::invoke(__comp, std::invoke(__proj, __high), std::invoke(__proj, __low))), "Bad bounds passed to std::ranges::clamp"); -auto& projection = std::invoke(__proj, __value); +auto& ValueProjection = std::invoke(__proj, __value); if (std::invoke(__comp, projection, std::invoke(__proj, __low))) return __low; else if (std::invoke(__comp, std::invoke(__proj, __high), projection)) >From a8907624defa4cc4f47520a2d93a8bd042816aa2 Mon Sep 17 00:00:00 2001 From: Jocelyn Castellano Date: Wed, 13 Sep 2023 19:11:47 -0700 Subject: [PATCH 04/18] [libcxx] properly change variable name --- libcxx/include/__algorithm/ranges_clamp.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libcxx/include/__algorithm/ranges_clamp.h b/libcxx/include/__algorithm/ranges_clamp.h index 3adb5fa828e1ee5..3d7a224b3649a3f 100644 --- a/libcxx/include/__algorithm/ranges_clamp.h +++ b/libcxx/include/__algorithm/ranges_clamp.h @@ -38,9 +38,9 @@ struct __fn { "Bad bounds passed to std::ranges::clamp"); auto& ValueProjection = std::invoke(__proj, __value); -if (std::invoke(__comp, projection, std::invoke(__proj, __low))) +if (std::invoke(__comp, ValueProjection, std::invoke(__proj, __low))) return __low; -else if (std::invoke(__comp, std::invoke(__proj, __high), projection)) +else if (std::invoke(__comp, std::invoke(__proj, __high), ValueProjection)) return __high; else return __value; >From 15d3b2b79fbd61f97b0312e0913cede36b5b202d Mon Sep 17 00:00:00 2001 From: Jocelyn Castellano Date: Thu, 14 Sep 2023 10:37:34 -0700 Subject: [PATCH 05/18] Apply suggestions from code review --- libcxx/include/__algorithm/ranges_clamp.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/libcxx/include/__algorithm/ranges_clamp.h b/libcxx/include/__algorithm/ranges_clamp.h index 3d7a224b3649a3f..
[clang] [libc++] Prevent calling the projection more than three times (PR #66315)
https://github.com/pandaninjas updated https://github.com/llvm/llvm-project/pull/66315 >From ead65bfcb70be46788bc9e88c891e7ae7f91b8d7 Mon Sep 17 00:00:00 2001 From: PandaNinjas Date: Wed, 13 Sep 2023 17:38:17 -0700 Subject: [PATCH 01/19] [libc++] Prevent calling the projection more than three times --- libcxx/include/__algorithm/ranges_clamp.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/libcxx/include/__algorithm/ranges_clamp.h b/libcxx/include/__algorithm/ranges_clamp.h index 9613f7f37720a6c..ca46675eb4b3041 100644 --- a/libcxx/include/__algorithm/ranges_clamp.h +++ b/libcxx/include/__algorithm/ranges_clamp.h @@ -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 &projection = std::invoke(__proj, __value); +if (std::invoke(__comp, projection, std::invoke(__proj, __low))) return __low; -else if (std::invoke(__comp, std::invoke(__proj, __high), std::invoke(__proj, __value))) +else if (std::invoke(__comp, std::invoke(__proj, __high), projection)) return __high; else return __value; >From c18d60870ac342a95a5528396a8e0c7b91717cbb Mon Sep 17 00:00:00 2001 From: PandaNinjas Date: Wed, 13 Sep 2023 18:56:44 -0700 Subject: [PATCH 02/19] [libc++] Run clang-format on file --- libcxx/include/__algorithm/ranges_clamp.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libcxx/include/__algorithm/ranges_clamp.h b/libcxx/include/__algorithm/ranges_clamp.h index ca46675eb4b3041..3469a6419b2270f 100644 --- a/libcxx/include/__algorithm/ranges_clamp.h +++ b/libcxx/include/__algorithm/ranges_clamp.h @@ -37,7 +37,7 @@ struct __fn { _LIBCPP_ASSERT_UNCATEGORIZED(!bool(std::invoke(__comp, std::invoke(__proj, __high), std::invoke(__proj, __low))), "Bad bounds passed to std::ranges::clamp"); -auto &projection = std::invoke(__proj, __value); +auto& projection = std::invoke(__proj, __value); if (std::invoke(__comp, projection, std::invoke(__proj, __low))) return __low; else if (std::invoke(__comp, std::invoke(__proj, __high), projection)) >From b40e791f0e9fedbb19936851e1e71decf00331fa Mon Sep 17 00:00:00 2001 From: Jocelyn Castellano Date: Wed, 13 Sep 2023 19:11:20 -0700 Subject: [PATCH 03/19] [libcxx] CamelCase projection and make variable name more descriptive --- libcxx/include/__algorithm/ranges_clamp.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libcxx/include/__algorithm/ranges_clamp.h b/libcxx/include/__algorithm/ranges_clamp.h index 3469a6419b2270f..3adb5fa828e1ee5 100644 --- a/libcxx/include/__algorithm/ranges_clamp.h +++ b/libcxx/include/__algorithm/ranges_clamp.h @@ -37,7 +37,7 @@ struct __fn { _LIBCPP_ASSERT_UNCATEGORIZED(!bool(std::invoke(__comp, std::invoke(__proj, __high), std::invoke(__proj, __low))), "Bad bounds passed to std::ranges::clamp"); -auto& projection = std::invoke(__proj, __value); +auto& ValueProjection = std::invoke(__proj, __value); if (std::invoke(__comp, projection, std::invoke(__proj, __low))) return __low; else if (std::invoke(__comp, std::invoke(__proj, __high), projection)) >From a8907624defa4cc4f47520a2d93a8bd042816aa2 Mon Sep 17 00:00:00 2001 From: Jocelyn Castellano Date: Wed, 13 Sep 2023 19:11:47 -0700 Subject: [PATCH 04/19] [libcxx] properly change variable name --- libcxx/include/__algorithm/ranges_clamp.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libcxx/include/__algorithm/ranges_clamp.h b/libcxx/include/__algorithm/ranges_clamp.h index 3adb5fa828e1ee5..3d7a224b3649a3f 100644 --- a/libcxx/include/__algorithm/ranges_clamp.h +++ b/libcxx/include/__algorithm/ranges_clamp.h @@ -38,9 +38,9 @@ struct __fn { "Bad bounds passed to std::ranges::clamp"); auto& ValueProjection = std::invoke(__proj, __value); -if (std::invoke(__comp, projection, std::invoke(__proj, __low))) +if (std::invoke(__comp, ValueProjection, std::invoke(__proj, __low))) return __low; -else if (std::invoke(__comp, std::invoke(__proj, __high), projection)) +else if (std::invoke(__comp, std::invoke(__proj, __high), ValueProjection)) return __high; else return __value; >From 15d3b2b79fbd61f97b0312e0913cede36b5b202d Mon Sep 17 00:00:00 2001 From: Jocelyn Castellano Date: Thu, 14 Sep 2023 10:37:34 -0700 Subject: [PATCH 05/19] Apply suggestions from code review --- libcxx/include/__algorithm/ranges_clamp.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/libcxx/include/__algorithm/ranges_clamp.h b/libcxx/include/__algorithm/ranges_clamp.h index 3d7a224b3649a3f..
[clang-tools-extra] [libc++] Prevent calling the projection more than three times (PR #66315)
pandaninjas wrote: It seems like tests are still failing because there is a double move. https://github.com/llvm/llvm-project/pull/66315 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [libc++] Prevent calling the projection more than three times (PR #66315)
pandaninjas wrote: It seems like tests are still failing because there is a double move. https://github.com/llvm/llvm-project/pull/66315 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [libc++] Prevent calling the projection more than three times (PR #66315)
https://github.com/pandaninjas updated https://github.com/llvm/llvm-project/pull/66315 >From ead65bfcb70be46788bc9e88c891e7ae7f91b8d7 Mon Sep 17 00:00:00 2001 From: PandaNinjas Date: Wed, 13 Sep 2023 17:38:17 -0700 Subject: [PATCH 01/21] [libc++] Prevent calling the projection more than three times --- libcxx/include/__algorithm/ranges_clamp.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/libcxx/include/__algorithm/ranges_clamp.h b/libcxx/include/__algorithm/ranges_clamp.h index 9613f7f37720a6c..ca46675eb4b3041 100644 --- a/libcxx/include/__algorithm/ranges_clamp.h +++ b/libcxx/include/__algorithm/ranges_clamp.h @@ -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 &projection = std::invoke(__proj, __value); +if (std::invoke(__comp, projection, std::invoke(__proj, __low))) return __low; -else if (std::invoke(__comp, std::invoke(__proj, __high), std::invoke(__proj, __value))) +else if (std::invoke(__comp, std::invoke(__proj, __high), projection)) return __high; else return __value; >From c18d60870ac342a95a5528396a8e0c7b91717cbb Mon Sep 17 00:00:00 2001 From: PandaNinjas Date: Wed, 13 Sep 2023 18:56:44 -0700 Subject: [PATCH 02/21] [libc++] Run clang-format on file --- libcxx/include/__algorithm/ranges_clamp.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libcxx/include/__algorithm/ranges_clamp.h b/libcxx/include/__algorithm/ranges_clamp.h index ca46675eb4b3041..3469a6419b2270f 100644 --- a/libcxx/include/__algorithm/ranges_clamp.h +++ b/libcxx/include/__algorithm/ranges_clamp.h @@ -37,7 +37,7 @@ struct __fn { _LIBCPP_ASSERT_UNCATEGORIZED(!bool(std::invoke(__comp, std::invoke(__proj, __high), std::invoke(__proj, __low))), "Bad bounds passed to std::ranges::clamp"); -auto &projection = std::invoke(__proj, __value); +auto& projection = std::invoke(__proj, __value); if (std::invoke(__comp, projection, std::invoke(__proj, __low))) return __low; else if (std::invoke(__comp, std::invoke(__proj, __high), projection)) >From b40e791f0e9fedbb19936851e1e71decf00331fa Mon Sep 17 00:00:00 2001 From: Jocelyn Castellano Date: Wed, 13 Sep 2023 19:11:20 -0700 Subject: [PATCH 03/21] [libcxx] CamelCase projection and make variable name more descriptive --- libcxx/include/__algorithm/ranges_clamp.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libcxx/include/__algorithm/ranges_clamp.h b/libcxx/include/__algorithm/ranges_clamp.h index 3469a6419b2270f..3adb5fa828e1ee5 100644 --- a/libcxx/include/__algorithm/ranges_clamp.h +++ b/libcxx/include/__algorithm/ranges_clamp.h @@ -37,7 +37,7 @@ struct __fn { _LIBCPP_ASSERT_UNCATEGORIZED(!bool(std::invoke(__comp, std::invoke(__proj, __high), std::invoke(__proj, __low))), "Bad bounds passed to std::ranges::clamp"); -auto& projection = std::invoke(__proj, __value); +auto& ValueProjection = std::invoke(__proj, __value); if (std::invoke(__comp, projection, std::invoke(__proj, __low))) return __low; else if (std::invoke(__comp, std::invoke(__proj, __high), projection)) >From a8907624defa4cc4f47520a2d93a8bd042816aa2 Mon Sep 17 00:00:00 2001 From: Jocelyn Castellano Date: Wed, 13 Sep 2023 19:11:47 -0700 Subject: [PATCH 04/21] [libcxx] properly change variable name --- libcxx/include/__algorithm/ranges_clamp.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libcxx/include/__algorithm/ranges_clamp.h b/libcxx/include/__algorithm/ranges_clamp.h index 3adb5fa828e1ee5..3d7a224b3649a3f 100644 --- a/libcxx/include/__algorithm/ranges_clamp.h +++ b/libcxx/include/__algorithm/ranges_clamp.h @@ -38,9 +38,9 @@ struct __fn { "Bad bounds passed to std::ranges::clamp"); auto& ValueProjection = std::invoke(__proj, __value); -if (std::invoke(__comp, projection, std::invoke(__proj, __low))) +if (std::invoke(__comp, ValueProjection, std::invoke(__proj, __low))) return __low; -else if (std::invoke(__comp, std::invoke(__proj, __high), projection)) +else if (std::invoke(__comp, std::invoke(__proj, __high), ValueProjection)) return __high; else return __value; >From 15d3b2b79fbd61f97b0312e0913cede36b5b202d Mon Sep 17 00:00:00 2001 From: Jocelyn Castellano Date: Thu, 14 Sep 2023 10:37:34 -0700 Subject: [PATCH 05/21] Apply suggestions from code review --- libcxx/include/__algorithm/ranges_clamp.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/libcxx/include/__algorithm/ranges_clamp.h b/libcxx/include/__algorithm/ranges_clamp.h index 3d7a224b3649a3f..
[clang] [libc++] Prevent calling the projection more than three times (PR #66315)
https://github.com/pandaninjas updated https://github.com/llvm/llvm-project/pull/66315 >From ead65bfcb70be46788bc9e88c891e7ae7f91b8d7 Mon Sep 17 00:00:00 2001 From: PandaNinjas Date: Wed, 13 Sep 2023 17:38:17 -0700 Subject: [PATCH 01/22] [libc++] Prevent calling the projection more than three times --- libcxx/include/__algorithm/ranges_clamp.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/libcxx/include/__algorithm/ranges_clamp.h b/libcxx/include/__algorithm/ranges_clamp.h index 9613f7f37720a6c..ca46675eb4b3041 100644 --- a/libcxx/include/__algorithm/ranges_clamp.h +++ b/libcxx/include/__algorithm/ranges_clamp.h @@ -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 &projection = std::invoke(__proj, __value); +if (std::invoke(__comp, projection, std::invoke(__proj, __low))) return __low; -else if (std::invoke(__comp, std::invoke(__proj, __high), std::invoke(__proj, __value))) +else if (std::invoke(__comp, std::invoke(__proj, __high), projection)) return __high; else return __value; >From c18d60870ac342a95a5528396a8e0c7b91717cbb Mon Sep 17 00:00:00 2001 From: PandaNinjas Date: Wed, 13 Sep 2023 18:56:44 -0700 Subject: [PATCH 02/22] [libc++] Run clang-format on file --- libcxx/include/__algorithm/ranges_clamp.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libcxx/include/__algorithm/ranges_clamp.h b/libcxx/include/__algorithm/ranges_clamp.h index ca46675eb4b3041..3469a6419b2270f 100644 --- a/libcxx/include/__algorithm/ranges_clamp.h +++ b/libcxx/include/__algorithm/ranges_clamp.h @@ -37,7 +37,7 @@ struct __fn { _LIBCPP_ASSERT_UNCATEGORIZED(!bool(std::invoke(__comp, std::invoke(__proj, __high), std::invoke(__proj, __low))), "Bad bounds passed to std::ranges::clamp"); -auto &projection = std::invoke(__proj, __value); +auto& projection = std::invoke(__proj, __value); if (std::invoke(__comp, projection, std::invoke(__proj, __low))) return __low; else if (std::invoke(__comp, std::invoke(__proj, __high), projection)) >From b40e791f0e9fedbb19936851e1e71decf00331fa Mon Sep 17 00:00:00 2001 From: Jocelyn Castellano Date: Wed, 13 Sep 2023 19:11:20 -0700 Subject: [PATCH 03/22] [libcxx] CamelCase projection and make variable name more descriptive --- libcxx/include/__algorithm/ranges_clamp.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libcxx/include/__algorithm/ranges_clamp.h b/libcxx/include/__algorithm/ranges_clamp.h index 3469a6419b2270f..3adb5fa828e1ee5 100644 --- a/libcxx/include/__algorithm/ranges_clamp.h +++ b/libcxx/include/__algorithm/ranges_clamp.h @@ -37,7 +37,7 @@ struct __fn { _LIBCPP_ASSERT_UNCATEGORIZED(!bool(std::invoke(__comp, std::invoke(__proj, __high), std::invoke(__proj, __low))), "Bad bounds passed to std::ranges::clamp"); -auto& projection = std::invoke(__proj, __value); +auto& ValueProjection = std::invoke(__proj, __value); if (std::invoke(__comp, projection, std::invoke(__proj, __low))) return __low; else if (std::invoke(__comp, std::invoke(__proj, __high), projection)) >From a8907624defa4cc4f47520a2d93a8bd042816aa2 Mon Sep 17 00:00:00 2001 From: Jocelyn Castellano Date: Wed, 13 Sep 2023 19:11:47 -0700 Subject: [PATCH 04/22] [libcxx] properly change variable name --- libcxx/include/__algorithm/ranges_clamp.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libcxx/include/__algorithm/ranges_clamp.h b/libcxx/include/__algorithm/ranges_clamp.h index 3adb5fa828e1ee5..3d7a224b3649a3f 100644 --- a/libcxx/include/__algorithm/ranges_clamp.h +++ b/libcxx/include/__algorithm/ranges_clamp.h @@ -38,9 +38,9 @@ struct __fn { "Bad bounds passed to std::ranges::clamp"); auto& ValueProjection = std::invoke(__proj, __value); -if (std::invoke(__comp, projection, std::invoke(__proj, __low))) +if (std::invoke(__comp, ValueProjection, std::invoke(__proj, __low))) return __low; -else if (std::invoke(__comp, std::invoke(__proj, __high), projection)) +else if (std::invoke(__comp, std::invoke(__proj, __high), ValueProjection)) return __high; else return __value; >From 15d3b2b79fbd61f97b0312e0913cede36b5b202d Mon Sep 17 00:00:00 2001 From: Jocelyn Castellano Date: Thu, 14 Sep 2023 10:37:34 -0700 Subject: [PATCH 05/22] Apply suggestions from code review --- libcxx/include/__algorithm/ranges_clamp.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/libcxx/include/__algorithm/ranges_clamp.h b/libcxx/include/__algorithm/ranges_clamp.h index 3d7a224b3649a3f..
[clang-tools-extra] [libc++] Prevent calling the projection more than three times (PR #66315)
https://github.com/pandaninjas updated https://github.com/llvm/llvm-project/pull/66315 >From ead65bfcb70be46788bc9e88c891e7ae7f91b8d7 Mon Sep 17 00:00:00 2001 From: PandaNinjas Date: Wed, 13 Sep 2023 17:38:17 -0700 Subject: [PATCH 01/22] [libc++] Prevent calling the projection more than three times --- libcxx/include/__algorithm/ranges_clamp.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/libcxx/include/__algorithm/ranges_clamp.h b/libcxx/include/__algorithm/ranges_clamp.h index 9613f7f37720a6c..ca46675eb4b3041 100644 --- a/libcxx/include/__algorithm/ranges_clamp.h +++ b/libcxx/include/__algorithm/ranges_clamp.h @@ -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 &projection = std::invoke(__proj, __value); +if (std::invoke(__comp, projection, std::invoke(__proj, __low))) return __low; -else if (std::invoke(__comp, std::invoke(__proj, __high), std::invoke(__proj, __value))) +else if (std::invoke(__comp, std::invoke(__proj, __high), projection)) return __high; else return __value; >From c18d60870ac342a95a5528396a8e0c7b91717cbb Mon Sep 17 00:00:00 2001 From: PandaNinjas Date: Wed, 13 Sep 2023 18:56:44 -0700 Subject: [PATCH 02/22] [libc++] Run clang-format on file --- libcxx/include/__algorithm/ranges_clamp.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libcxx/include/__algorithm/ranges_clamp.h b/libcxx/include/__algorithm/ranges_clamp.h index ca46675eb4b3041..3469a6419b2270f 100644 --- a/libcxx/include/__algorithm/ranges_clamp.h +++ b/libcxx/include/__algorithm/ranges_clamp.h @@ -37,7 +37,7 @@ struct __fn { _LIBCPP_ASSERT_UNCATEGORIZED(!bool(std::invoke(__comp, std::invoke(__proj, __high), std::invoke(__proj, __low))), "Bad bounds passed to std::ranges::clamp"); -auto &projection = std::invoke(__proj, __value); +auto& projection = std::invoke(__proj, __value); if (std::invoke(__comp, projection, std::invoke(__proj, __low))) return __low; else if (std::invoke(__comp, std::invoke(__proj, __high), projection)) >From b40e791f0e9fedbb19936851e1e71decf00331fa Mon Sep 17 00:00:00 2001 From: Jocelyn Castellano Date: Wed, 13 Sep 2023 19:11:20 -0700 Subject: [PATCH 03/22] [libcxx] CamelCase projection and make variable name more descriptive --- libcxx/include/__algorithm/ranges_clamp.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libcxx/include/__algorithm/ranges_clamp.h b/libcxx/include/__algorithm/ranges_clamp.h index 3469a6419b2270f..3adb5fa828e1ee5 100644 --- a/libcxx/include/__algorithm/ranges_clamp.h +++ b/libcxx/include/__algorithm/ranges_clamp.h @@ -37,7 +37,7 @@ struct __fn { _LIBCPP_ASSERT_UNCATEGORIZED(!bool(std::invoke(__comp, std::invoke(__proj, __high), std::invoke(__proj, __low))), "Bad bounds passed to std::ranges::clamp"); -auto& projection = std::invoke(__proj, __value); +auto& ValueProjection = std::invoke(__proj, __value); if (std::invoke(__comp, projection, std::invoke(__proj, __low))) return __low; else if (std::invoke(__comp, std::invoke(__proj, __high), projection)) >From a8907624defa4cc4f47520a2d93a8bd042816aa2 Mon Sep 17 00:00:00 2001 From: Jocelyn Castellano Date: Wed, 13 Sep 2023 19:11:47 -0700 Subject: [PATCH 04/22] [libcxx] properly change variable name --- libcxx/include/__algorithm/ranges_clamp.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libcxx/include/__algorithm/ranges_clamp.h b/libcxx/include/__algorithm/ranges_clamp.h index 3adb5fa828e1ee5..3d7a224b3649a3f 100644 --- a/libcxx/include/__algorithm/ranges_clamp.h +++ b/libcxx/include/__algorithm/ranges_clamp.h @@ -38,9 +38,9 @@ struct __fn { "Bad bounds passed to std::ranges::clamp"); auto& ValueProjection = std::invoke(__proj, __value); -if (std::invoke(__comp, projection, std::invoke(__proj, __low))) +if (std::invoke(__comp, ValueProjection, std::invoke(__proj, __low))) return __low; -else if (std::invoke(__comp, std::invoke(__proj, __high), projection)) +else if (std::invoke(__comp, std::invoke(__proj, __high), ValueProjection)) return __high; else return __value; >From 15d3b2b79fbd61f97b0312e0913cede36b5b202d Mon Sep 17 00:00:00 2001 From: Jocelyn Castellano Date: Thu, 14 Sep 2023 10:37:34 -0700 Subject: [PATCH 05/22] Apply suggestions from code review --- libcxx/include/__algorithm/ranges_clamp.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/libcxx/include/__algorithm/ranges_clamp.h b/libcxx/include/__algorithm/ranges_clamp.h index 3d7a224b3649a3f..
[clang-tools-extra] [libc++] Prevent calling the projection more than three times (PR #66315)
https://github.com/pandaninjas updated https://github.com/llvm/llvm-project/pull/66315 >From ead65bfcb70be46788bc9e88c891e7ae7f91b8d7 Mon Sep 17 00:00:00 2001 From: PandaNinjas Date: Wed, 13 Sep 2023 17:38:17 -0700 Subject: [PATCH 1/8] [libc++] Prevent calling the projection more than three times --- libcxx/include/__algorithm/ranges_clamp.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/libcxx/include/__algorithm/ranges_clamp.h b/libcxx/include/__algorithm/ranges_clamp.h index 9613f7f37720a6c..ca46675eb4b3041 100644 --- a/libcxx/include/__algorithm/ranges_clamp.h +++ b/libcxx/include/__algorithm/ranges_clamp.h @@ -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 &projection = std::invoke(__proj, __value); +if (std::invoke(__comp, projection, std::invoke(__proj, __low))) return __low; -else if (std::invoke(__comp, std::invoke(__proj, __high), std::invoke(__proj, __value))) +else if (std::invoke(__comp, std::invoke(__proj, __high), projection)) return __high; else return __value; >From c18d60870ac342a95a5528396a8e0c7b91717cbb Mon Sep 17 00:00:00 2001 From: PandaNinjas Date: Wed, 13 Sep 2023 18:56:44 -0700 Subject: [PATCH 2/8] [libc++] Run clang-format on file --- libcxx/include/__algorithm/ranges_clamp.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libcxx/include/__algorithm/ranges_clamp.h b/libcxx/include/__algorithm/ranges_clamp.h index ca46675eb4b3041..3469a6419b2270f 100644 --- a/libcxx/include/__algorithm/ranges_clamp.h +++ b/libcxx/include/__algorithm/ranges_clamp.h @@ -37,7 +37,7 @@ struct __fn { _LIBCPP_ASSERT_UNCATEGORIZED(!bool(std::invoke(__comp, std::invoke(__proj, __high), std::invoke(__proj, __low))), "Bad bounds passed to std::ranges::clamp"); -auto &projection = std::invoke(__proj, __value); +auto& projection = std::invoke(__proj, __value); if (std::invoke(__comp, projection, std::invoke(__proj, __low))) return __low; else if (std::invoke(__comp, std::invoke(__proj, __high), projection)) >From b40e791f0e9fedbb19936851e1e71decf00331fa Mon Sep 17 00:00:00 2001 From: Jocelyn Castellano Date: Wed, 13 Sep 2023 19:11:20 -0700 Subject: [PATCH 3/8] [libcxx] CamelCase projection and make variable name more descriptive --- libcxx/include/__algorithm/ranges_clamp.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libcxx/include/__algorithm/ranges_clamp.h b/libcxx/include/__algorithm/ranges_clamp.h index 3469a6419b2270f..3adb5fa828e1ee5 100644 --- a/libcxx/include/__algorithm/ranges_clamp.h +++ b/libcxx/include/__algorithm/ranges_clamp.h @@ -37,7 +37,7 @@ struct __fn { _LIBCPP_ASSERT_UNCATEGORIZED(!bool(std::invoke(__comp, std::invoke(__proj, __high), std::invoke(__proj, __low))), "Bad bounds passed to std::ranges::clamp"); -auto& projection = std::invoke(__proj, __value); +auto& ValueProjection = std::invoke(__proj, __value); if (std::invoke(__comp, projection, std::invoke(__proj, __low))) return __low; else if (std::invoke(__comp, std::invoke(__proj, __high), projection)) >From a8907624defa4cc4f47520a2d93a8bd042816aa2 Mon Sep 17 00:00:00 2001 From: Jocelyn Castellano Date: Wed, 13 Sep 2023 19:11:47 -0700 Subject: [PATCH 4/8] [libcxx] properly change variable name --- libcxx/include/__algorithm/ranges_clamp.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libcxx/include/__algorithm/ranges_clamp.h b/libcxx/include/__algorithm/ranges_clamp.h index 3adb5fa828e1ee5..3d7a224b3649a3f 100644 --- a/libcxx/include/__algorithm/ranges_clamp.h +++ b/libcxx/include/__algorithm/ranges_clamp.h @@ -38,9 +38,9 @@ struct __fn { "Bad bounds passed to std::ranges::clamp"); auto& ValueProjection = std::invoke(__proj, __value); -if (std::invoke(__comp, projection, std::invoke(__proj, __low))) +if (std::invoke(__comp, ValueProjection, std::invoke(__proj, __low))) return __low; -else if (std::invoke(__comp, std::invoke(__proj, __high), projection)) +else if (std::invoke(__comp, std::invoke(__proj, __high), ValueProjection)) return __high; else return __value; >From 15d3b2b79fbd61f97b0312e0913cede36b5b202d Mon Sep 17 00:00:00 2001 From: Jocelyn Castellano Date: Thu, 14 Sep 2023 10:37:34 -0700 Subject: [PATCH 5/8] Apply suggestions from code review --- libcxx/include/__algorithm/ranges_clamp.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/libcxx/include/__algorithm/ranges_clamp.h b/libcxx/include/__algorithm/ranges_clamp.h index 3d7a224b3649a3f..a97538e4c0
[clang] [libc++] Prevent calling the projection more than three times (PR #66315)
https://github.com/pandaninjas updated https://github.com/llvm/llvm-project/pull/66315 >From ead65bfcb70be46788bc9e88c891e7ae7f91b8d7 Mon Sep 17 00:00:00 2001 From: PandaNinjas Date: Wed, 13 Sep 2023 17:38:17 -0700 Subject: [PATCH 1/8] [libc++] Prevent calling the projection more than three times --- libcxx/include/__algorithm/ranges_clamp.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/libcxx/include/__algorithm/ranges_clamp.h b/libcxx/include/__algorithm/ranges_clamp.h index 9613f7f37720a6c..ca46675eb4b3041 100644 --- a/libcxx/include/__algorithm/ranges_clamp.h +++ b/libcxx/include/__algorithm/ranges_clamp.h @@ -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 &projection = std::invoke(__proj, __value); +if (std::invoke(__comp, projection, std::invoke(__proj, __low))) return __low; -else if (std::invoke(__comp, std::invoke(__proj, __high), std::invoke(__proj, __value))) +else if (std::invoke(__comp, std::invoke(__proj, __high), projection)) return __high; else return __value; >From c18d60870ac342a95a5528396a8e0c7b91717cbb Mon Sep 17 00:00:00 2001 From: PandaNinjas Date: Wed, 13 Sep 2023 18:56:44 -0700 Subject: [PATCH 2/8] [libc++] Run clang-format on file --- libcxx/include/__algorithm/ranges_clamp.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libcxx/include/__algorithm/ranges_clamp.h b/libcxx/include/__algorithm/ranges_clamp.h index ca46675eb4b3041..3469a6419b2270f 100644 --- a/libcxx/include/__algorithm/ranges_clamp.h +++ b/libcxx/include/__algorithm/ranges_clamp.h @@ -37,7 +37,7 @@ struct __fn { _LIBCPP_ASSERT_UNCATEGORIZED(!bool(std::invoke(__comp, std::invoke(__proj, __high), std::invoke(__proj, __low))), "Bad bounds passed to std::ranges::clamp"); -auto &projection = std::invoke(__proj, __value); +auto& projection = std::invoke(__proj, __value); if (std::invoke(__comp, projection, std::invoke(__proj, __low))) return __low; else if (std::invoke(__comp, std::invoke(__proj, __high), projection)) >From b40e791f0e9fedbb19936851e1e71decf00331fa Mon Sep 17 00:00:00 2001 From: Jocelyn Castellano Date: Wed, 13 Sep 2023 19:11:20 -0700 Subject: [PATCH 3/8] [libcxx] CamelCase projection and make variable name more descriptive --- libcxx/include/__algorithm/ranges_clamp.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libcxx/include/__algorithm/ranges_clamp.h b/libcxx/include/__algorithm/ranges_clamp.h index 3469a6419b2270f..3adb5fa828e1ee5 100644 --- a/libcxx/include/__algorithm/ranges_clamp.h +++ b/libcxx/include/__algorithm/ranges_clamp.h @@ -37,7 +37,7 @@ struct __fn { _LIBCPP_ASSERT_UNCATEGORIZED(!bool(std::invoke(__comp, std::invoke(__proj, __high), std::invoke(__proj, __low))), "Bad bounds passed to std::ranges::clamp"); -auto& projection = std::invoke(__proj, __value); +auto& ValueProjection = std::invoke(__proj, __value); if (std::invoke(__comp, projection, std::invoke(__proj, __low))) return __low; else if (std::invoke(__comp, std::invoke(__proj, __high), projection)) >From a8907624defa4cc4f47520a2d93a8bd042816aa2 Mon Sep 17 00:00:00 2001 From: Jocelyn Castellano Date: Wed, 13 Sep 2023 19:11:47 -0700 Subject: [PATCH 4/8] [libcxx] properly change variable name --- libcxx/include/__algorithm/ranges_clamp.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libcxx/include/__algorithm/ranges_clamp.h b/libcxx/include/__algorithm/ranges_clamp.h index 3adb5fa828e1ee5..3d7a224b3649a3f 100644 --- a/libcxx/include/__algorithm/ranges_clamp.h +++ b/libcxx/include/__algorithm/ranges_clamp.h @@ -38,9 +38,9 @@ struct __fn { "Bad bounds passed to std::ranges::clamp"); auto& ValueProjection = std::invoke(__proj, __value); -if (std::invoke(__comp, projection, std::invoke(__proj, __low))) +if (std::invoke(__comp, ValueProjection, std::invoke(__proj, __low))) return __low; -else if (std::invoke(__comp, std::invoke(__proj, __high), projection)) +else if (std::invoke(__comp, std::invoke(__proj, __high), ValueProjection)) return __high; else return __value; >From 15d3b2b79fbd61f97b0312e0913cede36b5b202d Mon Sep 17 00:00:00 2001 From: Jocelyn Castellano Date: Thu, 14 Sep 2023 10:37:34 -0700 Subject: [PATCH 5/8] Apply suggestions from code review --- libcxx/include/__algorithm/ranges_clamp.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/libcxx/include/__algorithm/ranges_clamp.h b/libcxx/include/__algorithm/ranges_clamp.h index 3d7a224b3649a3f..a97538e4c0
[clang-tools-extra] [libc++] Prevent calling the projection more than three times (PR #66315)
@@ -37,9 +37,10 @@ struct __fn { _LIBCPP_ASSERT_UNCATEGORIZED(!bool(std::invoke(__comp, std::invoke(__proj, __high), std::invoke(__proj, __low))), pandaninjas wrote: I think we don't need a similar fix in `std::clamp` because `std::clamp` doesn't support using a projection https://github.com/llvm/llvm-project/pull/66315 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [libc++] Prevent calling the projection more than three times (PR #66315)
@@ -37,9 +37,10 @@ struct __fn { _LIBCPP_ASSERT_UNCATEGORIZED(!bool(std::invoke(__comp, std::invoke(__proj, __high), std::invoke(__proj, __low))), pandaninjas wrote: I think we don't need a similar fix in `std::clamp` because `std::clamp` doesn't support using a projection https://github.com/llvm/llvm-project/pull/66315 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang-tools-extra] [libc++] Prevent calling the projection more than three times (PR #66315)
https://github.com/pandaninjas updated https://github.com/llvm/llvm-project/pull/66315 >From ead65bfcb70be46788bc9e88c891e7ae7f91b8d7 Mon Sep 17 00:00:00 2001 From: PandaNinjas Date: Wed, 13 Sep 2023 17:38:17 -0700 Subject: [PATCH 1/9] [libc++] Prevent calling the projection more than three times --- libcxx/include/__algorithm/ranges_clamp.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/libcxx/include/__algorithm/ranges_clamp.h b/libcxx/include/__algorithm/ranges_clamp.h index 9613f7f37720a6c..ca46675eb4b3041 100644 --- a/libcxx/include/__algorithm/ranges_clamp.h +++ b/libcxx/include/__algorithm/ranges_clamp.h @@ -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 &projection = std::invoke(__proj, __value); +if (std::invoke(__comp, projection, std::invoke(__proj, __low))) return __low; -else if (std::invoke(__comp, std::invoke(__proj, __high), std::invoke(__proj, __value))) +else if (std::invoke(__comp, std::invoke(__proj, __high), projection)) return __high; else return __value; >From c18d60870ac342a95a5528396a8e0c7b91717cbb Mon Sep 17 00:00:00 2001 From: PandaNinjas Date: Wed, 13 Sep 2023 18:56:44 -0700 Subject: [PATCH 2/9] [libc++] Run clang-format on file --- libcxx/include/__algorithm/ranges_clamp.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libcxx/include/__algorithm/ranges_clamp.h b/libcxx/include/__algorithm/ranges_clamp.h index ca46675eb4b3041..3469a6419b2270f 100644 --- a/libcxx/include/__algorithm/ranges_clamp.h +++ b/libcxx/include/__algorithm/ranges_clamp.h @@ -37,7 +37,7 @@ struct __fn { _LIBCPP_ASSERT_UNCATEGORIZED(!bool(std::invoke(__comp, std::invoke(__proj, __high), std::invoke(__proj, __low))), "Bad bounds passed to std::ranges::clamp"); -auto &projection = std::invoke(__proj, __value); +auto& projection = std::invoke(__proj, __value); if (std::invoke(__comp, projection, std::invoke(__proj, __low))) return __low; else if (std::invoke(__comp, std::invoke(__proj, __high), projection)) >From b40e791f0e9fedbb19936851e1e71decf00331fa Mon Sep 17 00:00:00 2001 From: Jocelyn Castellano Date: Wed, 13 Sep 2023 19:11:20 -0700 Subject: [PATCH 3/9] [libcxx] CamelCase projection and make variable name more descriptive --- libcxx/include/__algorithm/ranges_clamp.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libcxx/include/__algorithm/ranges_clamp.h b/libcxx/include/__algorithm/ranges_clamp.h index 3469a6419b2270f..3adb5fa828e1ee5 100644 --- a/libcxx/include/__algorithm/ranges_clamp.h +++ b/libcxx/include/__algorithm/ranges_clamp.h @@ -37,7 +37,7 @@ struct __fn { _LIBCPP_ASSERT_UNCATEGORIZED(!bool(std::invoke(__comp, std::invoke(__proj, __high), std::invoke(__proj, __low))), "Bad bounds passed to std::ranges::clamp"); -auto& projection = std::invoke(__proj, __value); +auto& ValueProjection = std::invoke(__proj, __value); if (std::invoke(__comp, projection, std::invoke(__proj, __low))) return __low; else if (std::invoke(__comp, std::invoke(__proj, __high), projection)) >From a8907624defa4cc4f47520a2d93a8bd042816aa2 Mon Sep 17 00:00:00 2001 From: Jocelyn Castellano Date: Wed, 13 Sep 2023 19:11:47 -0700 Subject: [PATCH 4/9] [libcxx] properly change variable name --- libcxx/include/__algorithm/ranges_clamp.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libcxx/include/__algorithm/ranges_clamp.h b/libcxx/include/__algorithm/ranges_clamp.h index 3adb5fa828e1ee5..3d7a224b3649a3f 100644 --- a/libcxx/include/__algorithm/ranges_clamp.h +++ b/libcxx/include/__algorithm/ranges_clamp.h @@ -38,9 +38,9 @@ struct __fn { "Bad bounds passed to std::ranges::clamp"); auto& ValueProjection = std::invoke(__proj, __value); -if (std::invoke(__comp, projection, std::invoke(__proj, __low))) +if (std::invoke(__comp, ValueProjection, std::invoke(__proj, __low))) return __low; -else if (std::invoke(__comp, std::invoke(__proj, __high), projection)) +else if (std::invoke(__comp, std::invoke(__proj, __high), ValueProjection)) return __high; else return __value; >From 15d3b2b79fbd61f97b0312e0913cede36b5b202d Mon Sep 17 00:00:00 2001 From: Jocelyn Castellano Date: Thu, 14 Sep 2023 10:37:34 -0700 Subject: [PATCH 5/9] Apply suggestions from code review --- libcxx/include/__algorithm/ranges_clamp.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/libcxx/include/__algorithm/ranges_clamp.h b/libcxx/include/__algorithm/ranges_clamp.h index 3d7a224b3649a3f..a97538e4c0
[clang-tools-extra] [libc++] Prevent calling the projection more than three times (PR #66315)
https://github.com/pandaninjas updated https://github.com/llvm/llvm-project/pull/66315 >From ead65bfcb70be46788bc9e88c891e7ae7f91b8d7 Mon Sep 17 00:00:00 2001 From: PandaNinjas Date: Wed, 13 Sep 2023 17:38:17 -0700 Subject: [PATCH 1/9] [libc++] Prevent calling the projection more than three times --- libcxx/include/__algorithm/ranges_clamp.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/libcxx/include/__algorithm/ranges_clamp.h b/libcxx/include/__algorithm/ranges_clamp.h index 9613f7f37720a6c..ca46675eb4b3041 100644 --- a/libcxx/include/__algorithm/ranges_clamp.h +++ b/libcxx/include/__algorithm/ranges_clamp.h @@ -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 &projection = std::invoke(__proj, __value); +if (std::invoke(__comp, projection, std::invoke(__proj, __low))) return __low; -else if (std::invoke(__comp, std::invoke(__proj, __high), std::invoke(__proj, __value))) +else if (std::invoke(__comp, std::invoke(__proj, __high), projection)) return __high; else return __value; >From c18d60870ac342a95a5528396a8e0c7b91717cbb Mon Sep 17 00:00:00 2001 From: PandaNinjas Date: Wed, 13 Sep 2023 18:56:44 -0700 Subject: [PATCH 2/9] [libc++] Run clang-format on file --- libcxx/include/__algorithm/ranges_clamp.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libcxx/include/__algorithm/ranges_clamp.h b/libcxx/include/__algorithm/ranges_clamp.h index ca46675eb4b3041..3469a6419b2270f 100644 --- a/libcxx/include/__algorithm/ranges_clamp.h +++ b/libcxx/include/__algorithm/ranges_clamp.h @@ -37,7 +37,7 @@ struct __fn { _LIBCPP_ASSERT_UNCATEGORIZED(!bool(std::invoke(__comp, std::invoke(__proj, __high), std::invoke(__proj, __low))), "Bad bounds passed to std::ranges::clamp"); -auto &projection = std::invoke(__proj, __value); +auto& projection = std::invoke(__proj, __value); if (std::invoke(__comp, projection, std::invoke(__proj, __low))) return __low; else if (std::invoke(__comp, std::invoke(__proj, __high), projection)) >From b40e791f0e9fedbb19936851e1e71decf00331fa Mon Sep 17 00:00:00 2001 From: Jocelyn Castellano Date: Wed, 13 Sep 2023 19:11:20 -0700 Subject: [PATCH 3/9] [libcxx] CamelCase projection and make variable name more descriptive --- libcxx/include/__algorithm/ranges_clamp.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libcxx/include/__algorithm/ranges_clamp.h b/libcxx/include/__algorithm/ranges_clamp.h index 3469a6419b2270f..3adb5fa828e1ee5 100644 --- a/libcxx/include/__algorithm/ranges_clamp.h +++ b/libcxx/include/__algorithm/ranges_clamp.h @@ -37,7 +37,7 @@ struct __fn { _LIBCPP_ASSERT_UNCATEGORIZED(!bool(std::invoke(__comp, std::invoke(__proj, __high), std::invoke(__proj, __low))), "Bad bounds passed to std::ranges::clamp"); -auto& projection = std::invoke(__proj, __value); +auto& ValueProjection = std::invoke(__proj, __value); if (std::invoke(__comp, projection, std::invoke(__proj, __low))) return __low; else if (std::invoke(__comp, std::invoke(__proj, __high), projection)) >From a8907624defa4cc4f47520a2d93a8bd042816aa2 Mon Sep 17 00:00:00 2001 From: Jocelyn Castellano Date: Wed, 13 Sep 2023 19:11:47 -0700 Subject: [PATCH 4/9] [libcxx] properly change variable name --- libcxx/include/__algorithm/ranges_clamp.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libcxx/include/__algorithm/ranges_clamp.h b/libcxx/include/__algorithm/ranges_clamp.h index 3adb5fa828e1ee5..3d7a224b3649a3f 100644 --- a/libcxx/include/__algorithm/ranges_clamp.h +++ b/libcxx/include/__algorithm/ranges_clamp.h @@ -38,9 +38,9 @@ struct __fn { "Bad bounds passed to std::ranges::clamp"); auto& ValueProjection = std::invoke(__proj, __value); -if (std::invoke(__comp, projection, std::invoke(__proj, __low))) +if (std::invoke(__comp, ValueProjection, std::invoke(__proj, __low))) return __low; -else if (std::invoke(__comp, std::invoke(__proj, __high), projection)) +else if (std::invoke(__comp, std::invoke(__proj, __high), ValueProjection)) return __high; else return __value; >From 15d3b2b79fbd61f97b0312e0913cede36b5b202d Mon Sep 17 00:00:00 2001 From: Jocelyn Castellano Date: Thu, 14 Sep 2023 10:37:34 -0700 Subject: [PATCH 5/9] Apply suggestions from code review --- libcxx/include/__algorithm/ranges_clamp.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/libcxx/include/__algorithm/ranges_clamp.h b/libcxx/include/__algorithm/ranges_clamp.h index 3d7a224b3649a3f..a97538e4c0
[clang-tools-extra] [libc++] Prevent calling the projection more than three times (PR #66315)
https://github.com/pandaninjas updated https://github.com/llvm/llvm-project/pull/66315 >From ead65bfcb70be46788bc9e88c891e7ae7f91b8d7 Mon Sep 17 00:00:00 2001 From: PandaNinjas Date: Wed, 13 Sep 2023 17:38:17 -0700 Subject: [PATCH 01/10] [libc++] Prevent calling the projection more than three times --- libcxx/include/__algorithm/ranges_clamp.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/libcxx/include/__algorithm/ranges_clamp.h b/libcxx/include/__algorithm/ranges_clamp.h index 9613f7f37720a6c..ca46675eb4b3041 100644 --- a/libcxx/include/__algorithm/ranges_clamp.h +++ b/libcxx/include/__algorithm/ranges_clamp.h @@ -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 &projection = std::invoke(__proj, __value); +if (std::invoke(__comp, projection, std::invoke(__proj, __low))) return __low; -else if (std::invoke(__comp, std::invoke(__proj, __high), std::invoke(__proj, __value))) +else if (std::invoke(__comp, std::invoke(__proj, __high), projection)) return __high; else return __value; >From c18d60870ac342a95a5528396a8e0c7b91717cbb Mon Sep 17 00:00:00 2001 From: PandaNinjas Date: Wed, 13 Sep 2023 18:56:44 -0700 Subject: [PATCH 02/10] [libc++] Run clang-format on file --- libcxx/include/__algorithm/ranges_clamp.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libcxx/include/__algorithm/ranges_clamp.h b/libcxx/include/__algorithm/ranges_clamp.h index ca46675eb4b3041..3469a6419b2270f 100644 --- a/libcxx/include/__algorithm/ranges_clamp.h +++ b/libcxx/include/__algorithm/ranges_clamp.h @@ -37,7 +37,7 @@ struct __fn { _LIBCPP_ASSERT_UNCATEGORIZED(!bool(std::invoke(__comp, std::invoke(__proj, __high), std::invoke(__proj, __low))), "Bad bounds passed to std::ranges::clamp"); -auto &projection = std::invoke(__proj, __value); +auto& projection = std::invoke(__proj, __value); if (std::invoke(__comp, projection, std::invoke(__proj, __low))) return __low; else if (std::invoke(__comp, std::invoke(__proj, __high), projection)) >From b40e791f0e9fedbb19936851e1e71decf00331fa Mon Sep 17 00:00:00 2001 From: Jocelyn Castellano Date: Wed, 13 Sep 2023 19:11:20 -0700 Subject: [PATCH 03/10] [libcxx] CamelCase projection and make variable name more descriptive --- libcxx/include/__algorithm/ranges_clamp.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libcxx/include/__algorithm/ranges_clamp.h b/libcxx/include/__algorithm/ranges_clamp.h index 3469a6419b2270f..3adb5fa828e1ee5 100644 --- a/libcxx/include/__algorithm/ranges_clamp.h +++ b/libcxx/include/__algorithm/ranges_clamp.h @@ -37,7 +37,7 @@ struct __fn { _LIBCPP_ASSERT_UNCATEGORIZED(!bool(std::invoke(__comp, std::invoke(__proj, __high), std::invoke(__proj, __low))), "Bad bounds passed to std::ranges::clamp"); -auto& projection = std::invoke(__proj, __value); +auto& ValueProjection = std::invoke(__proj, __value); if (std::invoke(__comp, projection, std::invoke(__proj, __low))) return __low; else if (std::invoke(__comp, std::invoke(__proj, __high), projection)) >From a8907624defa4cc4f47520a2d93a8bd042816aa2 Mon Sep 17 00:00:00 2001 From: Jocelyn Castellano Date: Wed, 13 Sep 2023 19:11:47 -0700 Subject: [PATCH 04/10] [libcxx] properly change variable name --- libcxx/include/__algorithm/ranges_clamp.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libcxx/include/__algorithm/ranges_clamp.h b/libcxx/include/__algorithm/ranges_clamp.h index 3adb5fa828e1ee5..3d7a224b3649a3f 100644 --- a/libcxx/include/__algorithm/ranges_clamp.h +++ b/libcxx/include/__algorithm/ranges_clamp.h @@ -38,9 +38,9 @@ struct __fn { "Bad bounds passed to std::ranges::clamp"); auto& ValueProjection = std::invoke(__proj, __value); -if (std::invoke(__comp, projection, std::invoke(__proj, __low))) +if (std::invoke(__comp, ValueProjection, std::invoke(__proj, __low))) return __low; -else if (std::invoke(__comp, std::invoke(__proj, __high), projection)) +else if (std::invoke(__comp, std::invoke(__proj, __high), ValueProjection)) return __high; else return __value; >From 15d3b2b79fbd61f97b0312e0913cede36b5b202d Mon Sep 17 00:00:00 2001 From: Jocelyn Castellano Date: Thu, 14 Sep 2023 10:37:34 -0700 Subject: [PATCH 05/10] Apply suggestions from code review --- libcxx/include/__algorithm/ranges_clamp.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/libcxx/include/__algorithm/ranges_clamp.h b/libcxx/include/__algorithm/ranges_clamp.h index 3d7a224b3649a3f..
[clang-tools-extra] [libc++] Prevent calling the projection more than three times (PR #66315)
https://github.com/pandaninjas updated https://github.com/llvm/llvm-project/pull/66315 >From ead65bfcb70be46788bc9e88c891e7ae7f91b8d7 Mon Sep 17 00:00:00 2001 From: PandaNinjas Date: Wed, 13 Sep 2023 17:38:17 -0700 Subject: [PATCH 01/11] [libc++] Prevent calling the projection more than three times --- libcxx/include/__algorithm/ranges_clamp.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/libcxx/include/__algorithm/ranges_clamp.h b/libcxx/include/__algorithm/ranges_clamp.h index 9613f7f37720a6c..ca46675eb4b3041 100644 --- a/libcxx/include/__algorithm/ranges_clamp.h +++ b/libcxx/include/__algorithm/ranges_clamp.h @@ -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 &projection = std::invoke(__proj, __value); +if (std::invoke(__comp, projection, std::invoke(__proj, __low))) return __low; -else if (std::invoke(__comp, std::invoke(__proj, __high), std::invoke(__proj, __value))) +else if (std::invoke(__comp, std::invoke(__proj, __high), projection)) return __high; else return __value; >From c18d60870ac342a95a5528396a8e0c7b91717cbb Mon Sep 17 00:00:00 2001 From: PandaNinjas Date: Wed, 13 Sep 2023 18:56:44 -0700 Subject: [PATCH 02/11] [libc++] Run clang-format on file --- libcxx/include/__algorithm/ranges_clamp.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libcxx/include/__algorithm/ranges_clamp.h b/libcxx/include/__algorithm/ranges_clamp.h index ca46675eb4b3041..3469a6419b2270f 100644 --- a/libcxx/include/__algorithm/ranges_clamp.h +++ b/libcxx/include/__algorithm/ranges_clamp.h @@ -37,7 +37,7 @@ struct __fn { _LIBCPP_ASSERT_UNCATEGORIZED(!bool(std::invoke(__comp, std::invoke(__proj, __high), std::invoke(__proj, __low))), "Bad bounds passed to std::ranges::clamp"); -auto &projection = std::invoke(__proj, __value); +auto& projection = std::invoke(__proj, __value); if (std::invoke(__comp, projection, std::invoke(__proj, __low))) return __low; else if (std::invoke(__comp, std::invoke(__proj, __high), projection)) >From b40e791f0e9fedbb19936851e1e71decf00331fa Mon Sep 17 00:00:00 2001 From: Jocelyn Castellano Date: Wed, 13 Sep 2023 19:11:20 -0700 Subject: [PATCH 03/11] [libcxx] CamelCase projection and make variable name more descriptive --- libcxx/include/__algorithm/ranges_clamp.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libcxx/include/__algorithm/ranges_clamp.h b/libcxx/include/__algorithm/ranges_clamp.h index 3469a6419b2270f..3adb5fa828e1ee5 100644 --- a/libcxx/include/__algorithm/ranges_clamp.h +++ b/libcxx/include/__algorithm/ranges_clamp.h @@ -37,7 +37,7 @@ struct __fn { _LIBCPP_ASSERT_UNCATEGORIZED(!bool(std::invoke(__comp, std::invoke(__proj, __high), std::invoke(__proj, __low))), "Bad bounds passed to std::ranges::clamp"); -auto& projection = std::invoke(__proj, __value); +auto& ValueProjection = std::invoke(__proj, __value); if (std::invoke(__comp, projection, std::invoke(__proj, __low))) return __low; else if (std::invoke(__comp, std::invoke(__proj, __high), projection)) >From a8907624defa4cc4f47520a2d93a8bd042816aa2 Mon Sep 17 00:00:00 2001 From: Jocelyn Castellano Date: Wed, 13 Sep 2023 19:11:47 -0700 Subject: [PATCH 04/11] [libcxx] properly change variable name --- libcxx/include/__algorithm/ranges_clamp.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libcxx/include/__algorithm/ranges_clamp.h b/libcxx/include/__algorithm/ranges_clamp.h index 3adb5fa828e1ee5..3d7a224b3649a3f 100644 --- a/libcxx/include/__algorithm/ranges_clamp.h +++ b/libcxx/include/__algorithm/ranges_clamp.h @@ -38,9 +38,9 @@ struct __fn { "Bad bounds passed to std::ranges::clamp"); auto& ValueProjection = std::invoke(__proj, __value); -if (std::invoke(__comp, projection, std::invoke(__proj, __low))) +if (std::invoke(__comp, ValueProjection, std::invoke(__proj, __low))) return __low; -else if (std::invoke(__comp, std::invoke(__proj, __high), projection)) +else if (std::invoke(__comp, std::invoke(__proj, __high), ValueProjection)) return __high; else return __value; >From 15d3b2b79fbd61f97b0312e0913cede36b5b202d Mon Sep 17 00:00:00 2001 From: Jocelyn Castellano Date: Thu, 14 Sep 2023 10:37:34 -0700 Subject: [PATCH 05/11] Apply suggestions from code review --- libcxx/include/__algorithm/ranges_clamp.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/libcxx/include/__algorithm/ranges_clamp.h b/libcxx/include/__algorithm/ranges_clamp.h index 3d7a224b3649a3f..
[clang-tools-extra] [libc++] Prevent calling the projection more than three times (PR #66315)
https://github.com/pandaninjas updated https://github.com/llvm/llvm-project/pull/66315 >From ead65bfcb70be46788bc9e88c891e7ae7f91b8d7 Mon Sep 17 00:00:00 2001 From: PandaNinjas Date: Wed, 13 Sep 2023 17:38:17 -0700 Subject: [PATCH 01/12] [libc++] Prevent calling the projection more than three times --- libcxx/include/__algorithm/ranges_clamp.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/libcxx/include/__algorithm/ranges_clamp.h b/libcxx/include/__algorithm/ranges_clamp.h index 9613f7f37720a6c..ca46675eb4b3041 100644 --- a/libcxx/include/__algorithm/ranges_clamp.h +++ b/libcxx/include/__algorithm/ranges_clamp.h @@ -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 &projection = std::invoke(__proj, __value); +if (std::invoke(__comp, projection, std::invoke(__proj, __low))) return __low; -else if (std::invoke(__comp, std::invoke(__proj, __high), std::invoke(__proj, __value))) +else if (std::invoke(__comp, std::invoke(__proj, __high), projection)) return __high; else return __value; >From c18d60870ac342a95a5528396a8e0c7b91717cbb Mon Sep 17 00:00:00 2001 From: PandaNinjas Date: Wed, 13 Sep 2023 18:56:44 -0700 Subject: [PATCH 02/12] [libc++] Run clang-format on file --- libcxx/include/__algorithm/ranges_clamp.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libcxx/include/__algorithm/ranges_clamp.h b/libcxx/include/__algorithm/ranges_clamp.h index ca46675eb4b3041..3469a6419b2270f 100644 --- a/libcxx/include/__algorithm/ranges_clamp.h +++ b/libcxx/include/__algorithm/ranges_clamp.h @@ -37,7 +37,7 @@ struct __fn { _LIBCPP_ASSERT_UNCATEGORIZED(!bool(std::invoke(__comp, std::invoke(__proj, __high), std::invoke(__proj, __low))), "Bad bounds passed to std::ranges::clamp"); -auto &projection = std::invoke(__proj, __value); +auto& projection = std::invoke(__proj, __value); if (std::invoke(__comp, projection, std::invoke(__proj, __low))) return __low; else if (std::invoke(__comp, std::invoke(__proj, __high), projection)) >From b40e791f0e9fedbb19936851e1e71decf00331fa Mon Sep 17 00:00:00 2001 From: Jocelyn Castellano Date: Wed, 13 Sep 2023 19:11:20 -0700 Subject: [PATCH 03/12] [libcxx] CamelCase projection and make variable name more descriptive --- libcxx/include/__algorithm/ranges_clamp.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libcxx/include/__algorithm/ranges_clamp.h b/libcxx/include/__algorithm/ranges_clamp.h index 3469a6419b2270f..3adb5fa828e1ee5 100644 --- a/libcxx/include/__algorithm/ranges_clamp.h +++ b/libcxx/include/__algorithm/ranges_clamp.h @@ -37,7 +37,7 @@ struct __fn { _LIBCPP_ASSERT_UNCATEGORIZED(!bool(std::invoke(__comp, std::invoke(__proj, __high), std::invoke(__proj, __low))), "Bad bounds passed to std::ranges::clamp"); -auto& projection = std::invoke(__proj, __value); +auto& ValueProjection = std::invoke(__proj, __value); if (std::invoke(__comp, projection, std::invoke(__proj, __low))) return __low; else if (std::invoke(__comp, std::invoke(__proj, __high), projection)) >From a8907624defa4cc4f47520a2d93a8bd042816aa2 Mon Sep 17 00:00:00 2001 From: Jocelyn Castellano Date: Wed, 13 Sep 2023 19:11:47 -0700 Subject: [PATCH 04/12] [libcxx] properly change variable name --- libcxx/include/__algorithm/ranges_clamp.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libcxx/include/__algorithm/ranges_clamp.h b/libcxx/include/__algorithm/ranges_clamp.h index 3adb5fa828e1ee5..3d7a224b3649a3f 100644 --- a/libcxx/include/__algorithm/ranges_clamp.h +++ b/libcxx/include/__algorithm/ranges_clamp.h @@ -38,9 +38,9 @@ struct __fn { "Bad bounds passed to std::ranges::clamp"); auto& ValueProjection = std::invoke(__proj, __value); -if (std::invoke(__comp, projection, std::invoke(__proj, __low))) +if (std::invoke(__comp, ValueProjection, std::invoke(__proj, __low))) return __low; -else if (std::invoke(__comp, std::invoke(__proj, __high), projection)) +else if (std::invoke(__comp, std::invoke(__proj, __high), ValueProjection)) return __high; else return __value; >From 15d3b2b79fbd61f97b0312e0913cede36b5b202d Mon Sep 17 00:00:00 2001 From: Jocelyn Castellano Date: Thu, 14 Sep 2023 10:37:34 -0700 Subject: [PATCH 05/12] Apply suggestions from code review --- libcxx/include/__algorithm/ranges_clamp.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/libcxx/include/__algorithm/ranges_clamp.h b/libcxx/include/__algorithm/ranges_clamp.h index 3d7a224b3649a3f..
[clang] [libc++] Prevent calling the projection more than three times (PR #66315)
https://github.com/pandaninjas resolved https://github.com/llvm/llvm-project/pull/66315 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang-tools-extra] [libc++] Prevent calling the projection more than three times (PR #66315)
https://github.com/pandaninjas resolved https://github.com/llvm/llvm-project/pull/66315 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [libc++] Prevent calling the projection more than three times (PR #66315)
https://github.com/pandaninjas updated https://github.com/llvm/llvm-project/pull/66315 >From ead65bfcb70be46788bc9e88c891e7ae7f91b8d7 Mon Sep 17 00:00:00 2001 From: PandaNinjas Date: Wed, 13 Sep 2023 17:38:17 -0700 Subject: [PATCH 01/13] [libc++] Prevent calling the projection more than three times --- libcxx/include/__algorithm/ranges_clamp.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/libcxx/include/__algorithm/ranges_clamp.h b/libcxx/include/__algorithm/ranges_clamp.h index 9613f7f37720a6c..ca46675eb4b3041 100644 --- a/libcxx/include/__algorithm/ranges_clamp.h +++ b/libcxx/include/__algorithm/ranges_clamp.h @@ -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 &projection = std::invoke(__proj, __value); +if (std::invoke(__comp, projection, std::invoke(__proj, __low))) return __low; -else if (std::invoke(__comp, std::invoke(__proj, __high), std::invoke(__proj, __value))) +else if (std::invoke(__comp, std::invoke(__proj, __high), projection)) return __high; else return __value; >From c18d60870ac342a95a5528396a8e0c7b91717cbb Mon Sep 17 00:00:00 2001 From: PandaNinjas Date: Wed, 13 Sep 2023 18:56:44 -0700 Subject: [PATCH 02/13] [libc++] Run clang-format on file --- libcxx/include/__algorithm/ranges_clamp.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libcxx/include/__algorithm/ranges_clamp.h b/libcxx/include/__algorithm/ranges_clamp.h index ca46675eb4b3041..3469a6419b2270f 100644 --- a/libcxx/include/__algorithm/ranges_clamp.h +++ b/libcxx/include/__algorithm/ranges_clamp.h @@ -37,7 +37,7 @@ struct __fn { _LIBCPP_ASSERT_UNCATEGORIZED(!bool(std::invoke(__comp, std::invoke(__proj, __high), std::invoke(__proj, __low))), "Bad bounds passed to std::ranges::clamp"); -auto &projection = std::invoke(__proj, __value); +auto& projection = std::invoke(__proj, __value); if (std::invoke(__comp, projection, std::invoke(__proj, __low))) return __low; else if (std::invoke(__comp, std::invoke(__proj, __high), projection)) >From b40e791f0e9fedbb19936851e1e71decf00331fa Mon Sep 17 00:00:00 2001 From: Jocelyn Castellano Date: Wed, 13 Sep 2023 19:11:20 -0700 Subject: [PATCH 03/13] [libcxx] CamelCase projection and make variable name more descriptive --- libcxx/include/__algorithm/ranges_clamp.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libcxx/include/__algorithm/ranges_clamp.h b/libcxx/include/__algorithm/ranges_clamp.h index 3469a6419b2270f..3adb5fa828e1ee5 100644 --- a/libcxx/include/__algorithm/ranges_clamp.h +++ b/libcxx/include/__algorithm/ranges_clamp.h @@ -37,7 +37,7 @@ struct __fn { _LIBCPP_ASSERT_UNCATEGORIZED(!bool(std::invoke(__comp, std::invoke(__proj, __high), std::invoke(__proj, __low))), "Bad bounds passed to std::ranges::clamp"); -auto& projection = std::invoke(__proj, __value); +auto& ValueProjection = std::invoke(__proj, __value); if (std::invoke(__comp, projection, std::invoke(__proj, __low))) return __low; else if (std::invoke(__comp, std::invoke(__proj, __high), projection)) >From a8907624defa4cc4f47520a2d93a8bd042816aa2 Mon Sep 17 00:00:00 2001 From: Jocelyn Castellano Date: Wed, 13 Sep 2023 19:11:47 -0700 Subject: [PATCH 04/13] [libcxx] properly change variable name --- libcxx/include/__algorithm/ranges_clamp.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libcxx/include/__algorithm/ranges_clamp.h b/libcxx/include/__algorithm/ranges_clamp.h index 3adb5fa828e1ee5..3d7a224b3649a3f 100644 --- a/libcxx/include/__algorithm/ranges_clamp.h +++ b/libcxx/include/__algorithm/ranges_clamp.h @@ -38,9 +38,9 @@ struct __fn { "Bad bounds passed to std::ranges::clamp"); auto& ValueProjection = std::invoke(__proj, __value); -if (std::invoke(__comp, projection, std::invoke(__proj, __low))) +if (std::invoke(__comp, ValueProjection, std::invoke(__proj, __low))) return __low; -else if (std::invoke(__comp, std::invoke(__proj, __high), projection)) +else if (std::invoke(__comp, std::invoke(__proj, __high), ValueProjection)) return __high; else return __value; >From 15d3b2b79fbd61f97b0312e0913cede36b5b202d Mon Sep 17 00:00:00 2001 From: Jocelyn Castellano Date: Thu, 14 Sep 2023 10:37:34 -0700 Subject: [PATCH 05/13] Apply suggestions from code review --- libcxx/include/__algorithm/ranges_clamp.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/libcxx/include/__algorithm/ranges_clamp.h b/libcxx/include/__algorithm/ranges_clamp.h index 3d7a224b3649a3f..
[clang] [libc++] Prevent calling the projection more than three times (PR #66315)
https://github.com/pandaninjas resolved https://github.com/llvm/llvm-project/pull/66315 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang-tools-extra] [libc++] Prevent calling the projection more than three times (PR #66315)
https://github.com/pandaninjas resolved https://github.com/llvm/llvm-project/pull/66315 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [libc++] Prevent calling the projection more than three times (PR #66315)
https://github.com/pandaninjas resolved https://github.com/llvm/llvm-project/pull/66315 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang-tools-extra] [libc++] Prevent calling the projection more than three times (PR #66315)
https://github.com/pandaninjas resolved https://github.com/llvm/llvm-project/pull/66315 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang-tools-extra] [libc++] Prevent calling the projection more than three times (PR #66315)
https://github.com/pandaninjas updated https://github.com/llvm/llvm-project/pull/66315 >From ead65bfcb70be46788bc9e88c891e7ae7f91b8d7 Mon Sep 17 00:00:00 2001 From: PandaNinjas Date: Wed, 13 Sep 2023 17:38:17 -0700 Subject: [PATCH 01/13] [libc++] Prevent calling the projection more than three times --- libcxx/include/__algorithm/ranges_clamp.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/libcxx/include/__algorithm/ranges_clamp.h b/libcxx/include/__algorithm/ranges_clamp.h index 9613f7f37720a6c..ca46675eb4b3041 100644 --- a/libcxx/include/__algorithm/ranges_clamp.h +++ b/libcxx/include/__algorithm/ranges_clamp.h @@ -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 &projection = std::invoke(__proj, __value); +if (std::invoke(__comp, projection, std::invoke(__proj, __low))) return __low; -else if (std::invoke(__comp, std::invoke(__proj, __high), std::invoke(__proj, __value))) +else if (std::invoke(__comp, std::invoke(__proj, __high), projection)) return __high; else return __value; >From c18d60870ac342a95a5528396a8e0c7b91717cbb Mon Sep 17 00:00:00 2001 From: PandaNinjas Date: Wed, 13 Sep 2023 18:56:44 -0700 Subject: [PATCH 02/13] [libc++] Run clang-format on file --- libcxx/include/__algorithm/ranges_clamp.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libcxx/include/__algorithm/ranges_clamp.h b/libcxx/include/__algorithm/ranges_clamp.h index ca46675eb4b3041..3469a6419b2270f 100644 --- a/libcxx/include/__algorithm/ranges_clamp.h +++ b/libcxx/include/__algorithm/ranges_clamp.h @@ -37,7 +37,7 @@ struct __fn { _LIBCPP_ASSERT_UNCATEGORIZED(!bool(std::invoke(__comp, std::invoke(__proj, __high), std::invoke(__proj, __low))), "Bad bounds passed to std::ranges::clamp"); -auto &projection = std::invoke(__proj, __value); +auto& projection = std::invoke(__proj, __value); if (std::invoke(__comp, projection, std::invoke(__proj, __low))) return __low; else if (std::invoke(__comp, std::invoke(__proj, __high), projection)) >From b40e791f0e9fedbb19936851e1e71decf00331fa Mon Sep 17 00:00:00 2001 From: Jocelyn Castellano Date: Wed, 13 Sep 2023 19:11:20 -0700 Subject: [PATCH 03/13] [libcxx] CamelCase projection and make variable name more descriptive --- libcxx/include/__algorithm/ranges_clamp.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libcxx/include/__algorithm/ranges_clamp.h b/libcxx/include/__algorithm/ranges_clamp.h index 3469a6419b2270f..3adb5fa828e1ee5 100644 --- a/libcxx/include/__algorithm/ranges_clamp.h +++ b/libcxx/include/__algorithm/ranges_clamp.h @@ -37,7 +37,7 @@ struct __fn { _LIBCPP_ASSERT_UNCATEGORIZED(!bool(std::invoke(__comp, std::invoke(__proj, __high), std::invoke(__proj, __low))), "Bad bounds passed to std::ranges::clamp"); -auto& projection = std::invoke(__proj, __value); +auto& ValueProjection = std::invoke(__proj, __value); if (std::invoke(__comp, projection, std::invoke(__proj, __low))) return __low; else if (std::invoke(__comp, std::invoke(__proj, __high), projection)) >From a8907624defa4cc4f47520a2d93a8bd042816aa2 Mon Sep 17 00:00:00 2001 From: Jocelyn Castellano Date: Wed, 13 Sep 2023 19:11:47 -0700 Subject: [PATCH 04/13] [libcxx] properly change variable name --- libcxx/include/__algorithm/ranges_clamp.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libcxx/include/__algorithm/ranges_clamp.h b/libcxx/include/__algorithm/ranges_clamp.h index 3adb5fa828e1ee5..3d7a224b3649a3f 100644 --- a/libcxx/include/__algorithm/ranges_clamp.h +++ b/libcxx/include/__algorithm/ranges_clamp.h @@ -38,9 +38,9 @@ struct __fn { "Bad bounds passed to std::ranges::clamp"); auto& ValueProjection = std::invoke(__proj, __value); -if (std::invoke(__comp, projection, std::invoke(__proj, __low))) +if (std::invoke(__comp, ValueProjection, std::invoke(__proj, __low))) return __low; -else if (std::invoke(__comp, std::invoke(__proj, __high), projection)) +else if (std::invoke(__comp, std::invoke(__proj, __high), ValueProjection)) return __high; else return __value; >From 15d3b2b79fbd61f97b0312e0913cede36b5b202d Mon Sep 17 00:00:00 2001 From: Jocelyn Castellano Date: Thu, 14 Sep 2023 10:37:34 -0700 Subject: [PATCH 05/13] Apply suggestions from code review --- libcxx/include/__algorithm/ranges_clamp.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/libcxx/include/__algorithm/ranges_clamp.h b/libcxx/include/__algorithm/ranges_clamp.h index 3d7a224b3649a3f..
[clang-tools-extra] [libc++] Prevent calling the projection more than three times (PR #66315)
https://github.com/pandaninjas updated https://github.com/llvm/llvm-project/pull/66315 >From ead65bfcb70be46788bc9e88c891e7ae7f91b8d7 Mon Sep 17 00:00:00 2001 From: PandaNinjas Date: Wed, 13 Sep 2023 17:38:17 -0700 Subject: [PATCH 01/14] [libc++] Prevent calling the projection more than three times --- libcxx/include/__algorithm/ranges_clamp.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/libcxx/include/__algorithm/ranges_clamp.h b/libcxx/include/__algorithm/ranges_clamp.h index 9613f7f37720a6c..ca46675eb4b3041 100644 --- a/libcxx/include/__algorithm/ranges_clamp.h +++ b/libcxx/include/__algorithm/ranges_clamp.h @@ -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 &projection = std::invoke(__proj, __value); +if (std::invoke(__comp, projection, std::invoke(__proj, __low))) return __low; -else if (std::invoke(__comp, std::invoke(__proj, __high), std::invoke(__proj, __value))) +else if (std::invoke(__comp, std::invoke(__proj, __high), projection)) return __high; else return __value; >From c18d60870ac342a95a5528396a8e0c7b91717cbb Mon Sep 17 00:00:00 2001 From: PandaNinjas Date: Wed, 13 Sep 2023 18:56:44 -0700 Subject: [PATCH 02/14] [libc++] Run clang-format on file --- libcxx/include/__algorithm/ranges_clamp.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libcxx/include/__algorithm/ranges_clamp.h b/libcxx/include/__algorithm/ranges_clamp.h index ca46675eb4b3041..3469a6419b2270f 100644 --- a/libcxx/include/__algorithm/ranges_clamp.h +++ b/libcxx/include/__algorithm/ranges_clamp.h @@ -37,7 +37,7 @@ struct __fn { _LIBCPP_ASSERT_UNCATEGORIZED(!bool(std::invoke(__comp, std::invoke(__proj, __high), std::invoke(__proj, __low))), "Bad bounds passed to std::ranges::clamp"); -auto &projection = std::invoke(__proj, __value); +auto& projection = std::invoke(__proj, __value); if (std::invoke(__comp, projection, std::invoke(__proj, __low))) return __low; else if (std::invoke(__comp, std::invoke(__proj, __high), projection)) >From b40e791f0e9fedbb19936851e1e71decf00331fa Mon Sep 17 00:00:00 2001 From: Jocelyn Castellano Date: Wed, 13 Sep 2023 19:11:20 -0700 Subject: [PATCH 03/14] [libcxx] CamelCase projection and make variable name more descriptive --- libcxx/include/__algorithm/ranges_clamp.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libcxx/include/__algorithm/ranges_clamp.h b/libcxx/include/__algorithm/ranges_clamp.h index 3469a6419b2270f..3adb5fa828e1ee5 100644 --- a/libcxx/include/__algorithm/ranges_clamp.h +++ b/libcxx/include/__algorithm/ranges_clamp.h @@ -37,7 +37,7 @@ struct __fn { _LIBCPP_ASSERT_UNCATEGORIZED(!bool(std::invoke(__comp, std::invoke(__proj, __high), std::invoke(__proj, __low))), "Bad bounds passed to std::ranges::clamp"); -auto& projection = std::invoke(__proj, __value); +auto& ValueProjection = std::invoke(__proj, __value); if (std::invoke(__comp, projection, std::invoke(__proj, __low))) return __low; else if (std::invoke(__comp, std::invoke(__proj, __high), projection)) >From a8907624defa4cc4f47520a2d93a8bd042816aa2 Mon Sep 17 00:00:00 2001 From: Jocelyn Castellano Date: Wed, 13 Sep 2023 19:11:47 -0700 Subject: [PATCH 04/14] [libcxx] properly change variable name --- libcxx/include/__algorithm/ranges_clamp.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libcxx/include/__algorithm/ranges_clamp.h b/libcxx/include/__algorithm/ranges_clamp.h index 3adb5fa828e1ee5..3d7a224b3649a3f 100644 --- a/libcxx/include/__algorithm/ranges_clamp.h +++ b/libcxx/include/__algorithm/ranges_clamp.h @@ -38,9 +38,9 @@ struct __fn { "Bad bounds passed to std::ranges::clamp"); auto& ValueProjection = std::invoke(__proj, __value); -if (std::invoke(__comp, projection, std::invoke(__proj, __low))) +if (std::invoke(__comp, ValueProjection, std::invoke(__proj, __low))) return __low; -else if (std::invoke(__comp, std::invoke(__proj, __high), projection)) +else if (std::invoke(__comp, std::invoke(__proj, __high), ValueProjection)) return __high; else return __value; >From 15d3b2b79fbd61f97b0312e0913cede36b5b202d Mon Sep 17 00:00:00 2001 From: Jocelyn Castellano Date: Thu, 14 Sep 2023 10:37:34 -0700 Subject: [PATCH 05/14] Apply suggestions from code review --- libcxx/include/__algorithm/ranges_clamp.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/libcxx/include/__algorithm/ranges_clamp.h b/libcxx/include/__algorithm/ranges_clamp.h index 3d7a224b3649a3f..
[clang] [libc++] Prevent calling the projection more than three times (PR #66315)
https://github.com/pandaninjas updated https://github.com/llvm/llvm-project/pull/66315 >From ead65bfcb70be46788bc9e88c891e7ae7f91b8d7 Mon Sep 17 00:00:00 2001 From: PandaNinjas Date: Wed, 13 Sep 2023 17:38:17 -0700 Subject: [PATCH 01/14] [libc++] Prevent calling the projection more than three times --- libcxx/include/__algorithm/ranges_clamp.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/libcxx/include/__algorithm/ranges_clamp.h b/libcxx/include/__algorithm/ranges_clamp.h index 9613f7f37720a6c..ca46675eb4b3041 100644 --- a/libcxx/include/__algorithm/ranges_clamp.h +++ b/libcxx/include/__algorithm/ranges_clamp.h @@ -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 &projection = std::invoke(__proj, __value); +if (std::invoke(__comp, projection, std::invoke(__proj, __low))) return __low; -else if (std::invoke(__comp, std::invoke(__proj, __high), std::invoke(__proj, __value))) +else if (std::invoke(__comp, std::invoke(__proj, __high), projection)) return __high; else return __value; >From c18d60870ac342a95a5528396a8e0c7b91717cbb Mon Sep 17 00:00:00 2001 From: PandaNinjas Date: Wed, 13 Sep 2023 18:56:44 -0700 Subject: [PATCH 02/14] [libc++] Run clang-format on file --- libcxx/include/__algorithm/ranges_clamp.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libcxx/include/__algorithm/ranges_clamp.h b/libcxx/include/__algorithm/ranges_clamp.h index ca46675eb4b3041..3469a6419b2270f 100644 --- a/libcxx/include/__algorithm/ranges_clamp.h +++ b/libcxx/include/__algorithm/ranges_clamp.h @@ -37,7 +37,7 @@ struct __fn { _LIBCPP_ASSERT_UNCATEGORIZED(!bool(std::invoke(__comp, std::invoke(__proj, __high), std::invoke(__proj, __low))), "Bad bounds passed to std::ranges::clamp"); -auto &projection = std::invoke(__proj, __value); +auto& projection = std::invoke(__proj, __value); if (std::invoke(__comp, projection, std::invoke(__proj, __low))) return __low; else if (std::invoke(__comp, std::invoke(__proj, __high), projection)) >From b40e791f0e9fedbb19936851e1e71decf00331fa Mon Sep 17 00:00:00 2001 From: Jocelyn Castellano Date: Wed, 13 Sep 2023 19:11:20 -0700 Subject: [PATCH 03/14] [libcxx] CamelCase projection and make variable name more descriptive --- libcxx/include/__algorithm/ranges_clamp.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libcxx/include/__algorithm/ranges_clamp.h b/libcxx/include/__algorithm/ranges_clamp.h index 3469a6419b2270f..3adb5fa828e1ee5 100644 --- a/libcxx/include/__algorithm/ranges_clamp.h +++ b/libcxx/include/__algorithm/ranges_clamp.h @@ -37,7 +37,7 @@ struct __fn { _LIBCPP_ASSERT_UNCATEGORIZED(!bool(std::invoke(__comp, std::invoke(__proj, __high), std::invoke(__proj, __low))), "Bad bounds passed to std::ranges::clamp"); -auto& projection = std::invoke(__proj, __value); +auto& ValueProjection = std::invoke(__proj, __value); if (std::invoke(__comp, projection, std::invoke(__proj, __low))) return __low; else if (std::invoke(__comp, std::invoke(__proj, __high), projection)) >From a8907624defa4cc4f47520a2d93a8bd042816aa2 Mon Sep 17 00:00:00 2001 From: Jocelyn Castellano Date: Wed, 13 Sep 2023 19:11:47 -0700 Subject: [PATCH 04/14] [libcxx] properly change variable name --- libcxx/include/__algorithm/ranges_clamp.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libcxx/include/__algorithm/ranges_clamp.h b/libcxx/include/__algorithm/ranges_clamp.h index 3adb5fa828e1ee5..3d7a224b3649a3f 100644 --- a/libcxx/include/__algorithm/ranges_clamp.h +++ b/libcxx/include/__algorithm/ranges_clamp.h @@ -38,9 +38,9 @@ struct __fn { "Bad bounds passed to std::ranges::clamp"); auto& ValueProjection = std::invoke(__proj, __value); -if (std::invoke(__comp, projection, std::invoke(__proj, __low))) +if (std::invoke(__comp, ValueProjection, std::invoke(__proj, __low))) return __low; -else if (std::invoke(__comp, std::invoke(__proj, __high), projection)) +else if (std::invoke(__comp, std::invoke(__proj, __high), ValueProjection)) return __high; else return __value; >From 15d3b2b79fbd61f97b0312e0913cede36b5b202d Mon Sep 17 00:00:00 2001 From: Jocelyn Castellano Date: Thu, 14 Sep 2023 10:37:34 -0700 Subject: [PATCH 05/14] Apply suggestions from code review --- libcxx/include/__algorithm/ranges_clamp.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/libcxx/include/__algorithm/ranges_clamp.h b/libcxx/include/__algorithm/ranges_clamp.h index 3d7a224b3649a3f..
[clang] [libc++] Prevent calling the projection more than three times (PR #66315)
https://github.com/pandaninjas resolved https://github.com/llvm/llvm-project/pull/66315 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang-tools-extra] [libc++] Prevent calling the projection more than three times (PR #66315)
https://github.com/pandaninjas updated https://github.com/llvm/llvm-project/pull/66315 >From ead65bfcb70be46788bc9e88c891e7ae7f91b8d7 Mon Sep 17 00:00:00 2001 From: PandaNinjas Date: Wed, 13 Sep 2023 17:38:17 -0700 Subject: [PATCH 01/15] [libc++] Prevent calling the projection more than three times --- libcxx/include/__algorithm/ranges_clamp.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/libcxx/include/__algorithm/ranges_clamp.h b/libcxx/include/__algorithm/ranges_clamp.h index 9613f7f37720a6c..ca46675eb4b3041 100644 --- a/libcxx/include/__algorithm/ranges_clamp.h +++ b/libcxx/include/__algorithm/ranges_clamp.h @@ -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 &projection = std::invoke(__proj, __value); +if (std::invoke(__comp, projection, std::invoke(__proj, __low))) return __low; -else if (std::invoke(__comp, std::invoke(__proj, __high), std::invoke(__proj, __value))) +else if (std::invoke(__comp, std::invoke(__proj, __high), projection)) return __high; else return __value; >From c18d60870ac342a95a5528396a8e0c7b91717cbb Mon Sep 17 00:00:00 2001 From: PandaNinjas Date: Wed, 13 Sep 2023 18:56:44 -0700 Subject: [PATCH 02/15] [libc++] Run clang-format on file --- libcxx/include/__algorithm/ranges_clamp.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libcxx/include/__algorithm/ranges_clamp.h b/libcxx/include/__algorithm/ranges_clamp.h index ca46675eb4b3041..3469a6419b2270f 100644 --- a/libcxx/include/__algorithm/ranges_clamp.h +++ b/libcxx/include/__algorithm/ranges_clamp.h @@ -37,7 +37,7 @@ struct __fn { _LIBCPP_ASSERT_UNCATEGORIZED(!bool(std::invoke(__comp, std::invoke(__proj, __high), std::invoke(__proj, __low))), "Bad bounds passed to std::ranges::clamp"); -auto &projection = std::invoke(__proj, __value); +auto& projection = std::invoke(__proj, __value); if (std::invoke(__comp, projection, std::invoke(__proj, __low))) return __low; else if (std::invoke(__comp, std::invoke(__proj, __high), projection)) >From b40e791f0e9fedbb19936851e1e71decf00331fa Mon Sep 17 00:00:00 2001 From: Jocelyn Castellano Date: Wed, 13 Sep 2023 19:11:20 -0700 Subject: [PATCH 03/15] [libcxx] CamelCase projection and make variable name more descriptive --- libcxx/include/__algorithm/ranges_clamp.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libcxx/include/__algorithm/ranges_clamp.h b/libcxx/include/__algorithm/ranges_clamp.h index 3469a6419b2270f..3adb5fa828e1ee5 100644 --- a/libcxx/include/__algorithm/ranges_clamp.h +++ b/libcxx/include/__algorithm/ranges_clamp.h @@ -37,7 +37,7 @@ struct __fn { _LIBCPP_ASSERT_UNCATEGORIZED(!bool(std::invoke(__comp, std::invoke(__proj, __high), std::invoke(__proj, __low))), "Bad bounds passed to std::ranges::clamp"); -auto& projection = std::invoke(__proj, __value); +auto& ValueProjection = std::invoke(__proj, __value); if (std::invoke(__comp, projection, std::invoke(__proj, __low))) return __low; else if (std::invoke(__comp, std::invoke(__proj, __high), projection)) >From a8907624defa4cc4f47520a2d93a8bd042816aa2 Mon Sep 17 00:00:00 2001 From: Jocelyn Castellano Date: Wed, 13 Sep 2023 19:11:47 -0700 Subject: [PATCH 04/15] [libcxx] properly change variable name --- libcxx/include/__algorithm/ranges_clamp.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libcxx/include/__algorithm/ranges_clamp.h b/libcxx/include/__algorithm/ranges_clamp.h index 3adb5fa828e1ee5..3d7a224b3649a3f 100644 --- a/libcxx/include/__algorithm/ranges_clamp.h +++ b/libcxx/include/__algorithm/ranges_clamp.h @@ -38,9 +38,9 @@ struct __fn { "Bad bounds passed to std::ranges::clamp"); auto& ValueProjection = std::invoke(__proj, __value); -if (std::invoke(__comp, projection, std::invoke(__proj, __low))) +if (std::invoke(__comp, ValueProjection, std::invoke(__proj, __low))) return __low; -else if (std::invoke(__comp, std::invoke(__proj, __high), projection)) +else if (std::invoke(__comp, std::invoke(__proj, __high), ValueProjection)) return __high; else return __value; >From 15d3b2b79fbd61f97b0312e0913cede36b5b202d Mon Sep 17 00:00:00 2001 From: Jocelyn Castellano Date: Thu, 14 Sep 2023 10:37:34 -0700 Subject: [PATCH 05/15] Apply suggestions from code review --- libcxx/include/__algorithm/ranges_clamp.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/libcxx/include/__algorithm/ranges_clamp.h b/libcxx/include/__algorithm/ranges_clamp.h index 3d7a224b3649a3f..
[clang] [libc++] Prevent calling the projection more than three times (PR #66315)
https://github.com/pandaninjas updated https://github.com/llvm/llvm-project/pull/66315 >From ead65bfcb70be46788bc9e88c891e7ae7f91b8d7 Mon Sep 17 00:00:00 2001 From: PandaNinjas Date: Wed, 13 Sep 2023 17:38:17 -0700 Subject: [PATCH 01/15] [libc++] Prevent calling the projection more than three times --- libcxx/include/__algorithm/ranges_clamp.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/libcxx/include/__algorithm/ranges_clamp.h b/libcxx/include/__algorithm/ranges_clamp.h index 9613f7f37720a6c..ca46675eb4b3041 100644 --- a/libcxx/include/__algorithm/ranges_clamp.h +++ b/libcxx/include/__algorithm/ranges_clamp.h @@ -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 &projection = std::invoke(__proj, __value); +if (std::invoke(__comp, projection, std::invoke(__proj, __low))) return __low; -else if (std::invoke(__comp, std::invoke(__proj, __high), std::invoke(__proj, __value))) +else if (std::invoke(__comp, std::invoke(__proj, __high), projection)) return __high; else return __value; >From c18d60870ac342a95a5528396a8e0c7b91717cbb Mon Sep 17 00:00:00 2001 From: PandaNinjas Date: Wed, 13 Sep 2023 18:56:44 -0700 Subject: [PATCH 02/15] [libc++] Run clang-format on file --- libcxx/include/__algorithm/ranges_clamp.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libcxx/include/__algorithm/ranges_clamp.h b/libcxx/include/__algorithm/ranges_clamp.h index ca46675eb4b3041..3469a6419b2270f 100644 --- a/libcxx/include/__algorithm/ranges_clamp.h +++ b/libcxx/include/__algorithm/ranges_clamp.h @@ -37,7 +37,7 @@ struct __fn { _LIBCPP_ASSERT_UNCATEGORIZED(!bool(std::invoke(__comp, std::invoke(__proj, __high), std::invoke(__proj, __low))), "Bad bounds passed to std::ranges::clamp"); -auto &projection = std::invoke(__proj, __value); +auto& projection = std::invoke(__proj, __value); if (std::invoke(__comp, projection, std::invoke(__proj, __low))) return __low; else if (std::invoke(__comp, std::invoke(__proj, __high), projection)) >From b40e791f0e9fedbb19936851e1e71decf00331fa Mon Sep 17 00:00:00 2001 From: Jocelyn Castellano Date: Wed, 13 Sep 2023 19:11:20 -0700 Subject: [PATCH 03/15] [libcxx] CamelCase projection and make variable name more descriptive --- libcxx/include/__algorithm/ranges_clamp.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libcxx/include/__algorithm/ranges_clamp.h b/libcxx/include/__algorithm/ranges_clamp.h index 3469a6419b2270f..3adb5fa828e1ee5 100644 --- a/libcxx/include/__algorithm/ranges_clamp.h +++ b/libcxx/include/__algorithm/ranges_clamp.h @@ -37,7 +37,7 @@ struct __fn { _LIBCPP_ASSERT_UNCATEGORIZED(!bool(std::invoke(__comp, std::invoke(__proj, __high), std::invoke(__proj, __low))), "Bad bounds passed to std::ranges::clamp"); -auto& projection = std::invoke(__proj, __value); +auto& ValueProjection = std::invoke(__proj, __value); if (std::invoke(__comp, projection, std::invoke(__proj, __low))) return __low; else if (std::invoke(__comp, std::invoke(__proj, __high), projection)) >From a8907624defa4cc4f47520a2d93a8bd042816aa2 Mon Sep 17 00:00:00 2001 From: Jocelyn Castellano Date: Wed, 13 Sep 2023 19:11:47 -0700 Subject: [PATCH 04/15] [libcxx] properly change variable name --- libcxx/include/__algorithm/ranges_clamp.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libcxx/include/__algorithm/ranges_clamp.h b/libcxx/include/__algorithm/ranges_clamp.h index 3adb5fa828e1ee5..3d7a224b3649a3f 100644 --- a/libcxx/include/__algorithm/ranges_clamp.h +++ b/libcxx/include/__algorithm/ranges_clamp.h @@ -38,9 +38,9 @@ struct __fn { "Bad bounds passed to std::ranges::clamp"); auto& ValueProjection = std::invoke(__proj, __value); -if (std::invoke(__comp, projection, std::invoke(__proj, __low))) +if (std::invoke(__comp, ValueProjection, std::invoke(__proj, __low))) return __low; -else if (std::invoke(__comp, std::invoke(__proj, __high), projection)) +else if (std::invoke(__comp, std::invoke(__proj, __high), ValueProjection)) return __high; else return __value; >From 15d3b2b79fbd61f97b0312e0913cede36b5b202d Mon Sep 17 00:00:00 2001 From: Jocelyn Castellano Date: Thu, 14 Sep 2023 10:37:34 -0700 Subject: [PATCH 05/15] Apply suggestions from code review --- libcxx/include/__algorithm/ranges_clamp.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/libcxx/include/__algorithm/ranges_clamp.h b/libcxx/include/__algorithm/ranges_clamp.h index 3d7a224b3649a3f..
[clang-tools-extra] [libc++] Prevent calling the projection more than three times (PR #66315)
pandaninjas wrote: Any idea why the CI is failing? It mentions line 86 not being constexpr because of assert, but it doesn't seem like I've done anything which should affect that... https://github.com/llvm/llvm-project/pull/66315 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [libc++] Prevent calling the projection more than three times (PR #66315)
pandaninjas wrote: Any idea why the CI is failing? It mentions line 86 not being constexpr because of assert, but it doesn't seem like I've done anything which should affect that... https://github.com/llvm/llvm-project/pull/66315 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits