[libcxx-commits] [libcxx] [libc++] Add input validation for set_intersection() in debug mode. (PR #101508)

Iuri Chaer via libcxx-commits libcxx-commits at lists.llvm.org
Tue Aug 6 05:23:46 PDT 2024


================
@@ -95,6 +98,14 @@ __set_intersection(
     _Compare&& __comp,
     std::forward_iterator_tag,
     std::forward_iterator_tag) {
+#if _LIBCPP_HARDENING_MODE == _LIBCPP_HARDENING_MODE_DEBUG
+  if (!__libcpp_is_constant_evaluated()) {
----------------
ichaer wrote:

Because`__builtin_expect()`, which`_LIBCPP_ASSERT()` expands to, can't be constant-evaluated. I learned that from a compilation error, btw.

https://github.com/llvm/llvm-project/pull/101508


More information about the libcxx-commits mailing list