[libc++] Make sure `flat_{multi}map::key_compare` handle `boolean-testable` correctly (#132621)
This is sibling of
[#69378](https://github.com/llvm/llvm-project/pull/69378).
---------
Co-authored-by: Hui Xie <hui.xie1990 at gmail.com>
Co-authored-by: A. Jiang <de34 at live.cn>
[libc++] Make sure `flat_set::key_compare` handle `boolean-testable` correctly (#132622)
Also add test for `flat_multiset` to avoid regression.
---------
Co-authored-by: Hui Xie <hui.xie1990 at gmail.com>
Co-authored-by: A. Jiang <de34 at live.cn>
xine-lib: Update to 1.2.13
Verified to build on NetBSD, FreeBSD, Darwin, CentOS 7, illumos.
This release includes various optimizations, compatibility with newer
ffmpeg and dav1d libraries, and a couple of minor fixes.
science/opensim-core: pin to openjdk8
Does not build with jdk11+:
[00:00:23] CMake Error at /usr/local/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:233 (message):
[00:00:23] Could NOT find JNI (missing: JAVA_INCLUDE_PATH2 AWT) (Required is at least
[00:00:23] version "1.7")
PR: 291719
Approved-By: maintainer timeout
[X86] Cleanup uses of "(BW-1) - LOG2(C)" --> "CLZ(C)" instead. NFC. (#174167)
We know in both cases that the value `C` is a power-of-2 constant, so we
know the "(BW-1) - LOG2(C)" can be more obviously represented as
"CLZ(C)".
In both places it occurs it also makes it much easier to understand
what's being done: shift the single masked bit up to the MSB and then
use SRA to splat it to all bits.
Fix mkdb to deal with pkgsrc recommendations and location changes:
don't call chown as non-root and don't try to copy gnatsd access config
files to gnatsdb/gnats-adm from a location where they aren't, in the
pkgsrc case.
Fixes
PR pkg/59879
Use an iterator in uvmpd_scan_active() to prevent a list corruption.
Releasing the pageqlock without iterator wasn't safe.
Suggested some time ago by claudio@, reported by and ok bluhm@
mpi-ch: on NetBSD, depend on gcc10-libs
gcc10's fortran is used to build this, and the gfortran libraries are
linked into the installed mpi-ch libraries, so we need a dependency on
gcc10-libs at runtime.
This should be done differently (a better Fortran framework for
pkgsrc), but at least we have the required dependency now.
Bump PKGREVISION.
XXX: this package is misnamed, the PKGNAME is mpich, the directory is mpi-ch.
[CloneFunction] Fix non-deterministic PHI cleanup using PHINode::removeIncomingValueIf() (#173975)
Previously, we use `std::map<BasicBlock *, unsigned> PredCount` to track
excess incoming blocks and removed them one by one using
`removeIncomingValue`.
Since `PredCount` use `BasicBlock *` as key, the iteration order depends
on the memory addresses of the blocks. With
`PHINode::removeIncomingValue()` changed to use the swapping strategy,
the order in which operands are removed affects the final order of the
remaining operands in the PHI node. This will cause non-determinism in
compiles.
This patch uses `PHINode::removeIncomingValueIf()` to remove invalid
incoming blocks that no longer go to `NewBB` block, fixes the
non-determinism.