| Issue |
183189
|
| Summary |
[libc++] LLVM 22 changed behavior for map and set search operations when used with not quite a strict weak ordering
|
| Labels |
libc++
|
| Assignees |
ldionne
|
| Reporter |
ldionne
|
In #155245, we implemented an optimization to `std::map` and `std::set` search operations. This took advantage of something that is guaranteed by the Standard, namely that the comparator provided to the associative container is a valid strict weak ordering.
Sadly, some code in the wild did not satisfy this requirement, such as Boost.ICL: https://github.com/boostorg/icl/issues/51
While we should clearly be allowed to take advantage of that requirement, I think we should also offer a temporary escape hatch for the LLVM 22 release since this change in behavior can have extremely tricky runtime consequences.
_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs